2017-06-22 14 views
1

私はmvn configで怒っています。 mvn clean deployは、メインjarファイルのみを生成します。 javadoc、dources、signなどのファイルではありません。明示的にmvn clean jar:jar javadoc:jar source:jar gpg:sign deployを呼び出すと、javadocとソースなどが生成されますが、メインのjarファイルは空です。mvnはすべてのアーティファクトを生成していません

何が起こっているのですか? ?

<build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-source-plugin</artifactId> 
        <version>2.2.1</version> 
        <executions> 
         <execution> 
          <id>attach-sources</id> 
          <phase>deploy</phase> 
          <goals> 
           <goal>jar-no-fork</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-javadoc-plugin</artifactId> 
        <version>2.9.1</version> 
        <executions> 
         <execution> 
          <id>attach-javadocs</id> 
          <phase>deploy</phase> 
          <goals> 
           <goal>jar</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-gpg-plugin</artifactId> 
        <version>1.5</version> 
        <executions> 
         <execution> 
          <id>sign-artifacts</id> 
          <phase>verify</phase> 
          <goals> 
           <goal>sign</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>2.3.2</version> 
        <configuration> 
         <source>1.8</source> 
         <target>1.8</target> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.7</version> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>2.20</version> 
        <configuration> 
         <suiteXmlFiles> 
          <suiteXmlFile>suite.xml</suiteXmlFile> 
         </suiteXmlFiles> 
         <properties> 
          <property> 
           <name>suitethreadpoolsize</name> 
           <value>1</value> 
          </property> 
         </properties> 
        </configuration> 
       </plugin>   
      </plugins> 
    </build> 
+0

maven-jar-pluginのフェーズを追加する必要はありません。プラグインのバージョンのみを定義してください。すべての除外などは必要ではありません。デフォルトの原因です... – khmarbaise

+0

@khmarbaiseはあなたのご意見に感謝しています。私はpomを更新しました。まだ私はjavadocとソースファイルが表示されません – KitKarson

+1

javadoc、ソースプラグインを 'package'にデプロイする代わりに' mvn clean package'を試してください – khmarbaise

答えて

1

プラグインを<pluginManagement>セクションの外に移動します。このセクションはあなたのプラグインを管理するか、それらのバージョンを扱うために使用されます。

活性化は、このセクションの外で発生します。

<build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-source-plugin</artifactId> 
     <version>2.2.1</version> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-javadoc-plugin</artifactId> 
     <version>2.9.1</version> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
    <plugins> 
     <!-- Activation occurs here. If you have declared the version of the 
      plugin in the section above, then you can omit the version in 
      this section. 
     --> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-source-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>attach-sources</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-javadoc-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>attach-javadocs</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins>  
</build> 

mvn package今あなたが望む成果物を生成する必要があり、あなたが展開した場合、彼らは自動的に拾われます。

+0

ありがとう@ダニエル。私はあなたの提案に応じて新しいPOMで質問を更新しました。私は 'pluginmanagement'を削除しました。まだ運がない。 javadocとソースは生成されません! – KitKarson

+0

ベストプラクティスに準拠するようにスニペットを更新しました。つまり、アーティファクトは 'package'フェーズで生成されるはずです。私はこれを実行した実行段階を取り除くことによって行いました。デフォルトは 'package'です。 – Daniel

+0

入力のためのダニエルありがとう – KitKarson

関連する問題