2015-11-03 58 views
2

我有一個包含以下內容的POM片段:綁定的jar:測試罐子包裝階段

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
         <mainClass>com.jason.Main</mainClass> 
        </manifest> 
        <manifestEntries> 
         <Class-Path>resources/</Class-Path> 
        </manifestEntries> 
       </archive> 
       <executions> 
        <execution> 
         <id>package-test-jar</id> 
         <phase>package</phase> 
         <goals> 
          <goal>test-jar</goal> 
         </goals> 
        </execution> 
       </executions> 
      </configuration> 
     </plugin> 

當我運行「MVN套裝」,該插件不執行,我的試驗瓶還沒有生成。當我運行「mvn jar:test-jar」我的jar被創建。有誰知道爲什麼會這樣?

謝謝你, 傑森

+0

在''的''部分是否插件配置?或者它在''部分的''部分? – Seelenvirtuose

+0

@Seelenvirtuose。它在項目部分 – jbwt

+0

在''區域添加' TheNexId'...... – khmarbaise

回答

2

你弄丟了<executions>塊:它應該是一個<configuration>之外。 就像你寫的那樣,這意味着你將一個名爲「executions」的參數結構傳遞給maven jar插件的配置,這個配置簡單地被忽略了。

這裏是正確的配置:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       ... your configuration data ... 
      </configuration> 
      <executions> 
       <execution> 
        <id>package-test-jar</id> 
        <phase>package</phase> 
        <goals> 
         <goal>test-jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

注意,指定「包」相對於你的執行是沒有必要的,因爲Maven的Jar插件默認情況下安裝到這個階段。

+0

謝謝dosyfier。這解決了我的問題! – jbwt