2008-09-16 9 views
2

私はmaven2を使ってaxis2プロジェクトを構築しようとしています。私のプロジェクトは、AAR、WAR、およびEARモジュールを持つ親プロジェクトとして構成されています。親プロジェクトのパッケージゴールを実行すると、コンソールに成功したビルドが表示され、すべてのファイルが作成されます。ただし、AARプロジェクトによって生成されたAARファイルは、生成されたWARプロジェクトには含まれません。 AARプロジェクトは、WARプロジェクトの依存としてリストされています。 WARのパッケージ・ゴールを明示的に実行すると、AARファイルがWARファイルに組み込まれます。maven2マルチプロジェクトビルドでaarファイルが見つからない

子供のパッケージゴールを実行しているときに、親のパッケージゴールに必要な依存性が含まれないのはなぜですか?

私は戦争プロジェクトでmaven-war-plugin v2.1-alpha-2を使用しています。

親POM:

<parent> 
    <groupId>companyId</groupId> 
    <artifactId>build</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
</parent> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.nationwide.nf</groupId> 
<artifactId>parent</artifactId> 
<packaging>pom</packaging> 
<version>1.0.0-SNAPSHOT</version> 
<modules> 
    <module>ws-war</module> 
    <module>ws-aar</module> 
    <module>ws-ear</module> 
</modules> 

AAR POM:

<parent> 
    <artifactId>parent</artifactId> 
    <groupId>companyId</groupId> 
    <version>1.0.0-SNAPSHOT</version> 
</parent> 
<modelVersion>4.0.0</modelVersion> 
<groupId>companyId</groupId> 
<artifactId>ws-aar</artifactId> 
<version>1.0.0-SNAPSHOT</version> 
<description/> 
<packaging>aar</packaging> 
<dependencies>...</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
      <version>1.4</version> 
      <configuration>...</configuration> 
      <executions> 
       <execution> 
        <goals> 
         <goal>wsdl2code</goal> 
        </goals> 
        <id>axis2-gen-sources</id> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-aar-maven-plugin</artifactId> 
      <version>1.4</version> 
      <extensions>true</extensions> 
      <configuration>...</configuration> 
     </plugin> 
    </plugins> 
</build> 

WARのPOM:

<parent> 
    <artifactId>parent</artifactId> 
    <groupId>companyId</groupId> 
    <version>1.0.0-SNAPSHOT</version> 
</parent> 
<modelVersion>4.0.0</modelVersion> 
<groupId>companyId</groupId> 
<artifactId>ws-war</artifactId> 
<packaging>war</packaging> 
<version>1.0.0-SNAPSHOT</version> 
<description/> 
<dependencies> 
    <dependency> 
     <groupId>companyId</groupId> 
     <artifactId>ws-aar</artifactId> 
     <type>aar</type> 
     <version>1.0.0-SNAPSHOT</version> 
    </dependency> 
    . 
    . 
    . 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1-alpha-2</version> 
      <configuration> 
       <warName>appName</warName> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

おかげで、 ジョー

答えて

2

私はMavenのビルドは、WS-戦争POMファイルに以下のプラグインを追加することにより、正常に動作させることができました:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>process-classes</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory> 
          ${project.build.directory}/${project.build.finalName}/WEB-INF/services 
         </outputDirectory> 
         <includeArtifactIds> 
          ws-aar 
         </includeArtifactIds> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

あなたは依存関係のプラグインを使用してに頼らなければならなかったが、私は」は残念ですあなたがうまく働いてうれしいです。私はこれがおそらく戦争のプラグインのバグだと思っていますが、Mavenのユーザグループに投稿し、そこに誰かがあなたを助けることができるかどうかを知りたいかもしれません。 –

0

あなたは "タイプ" を使用してみました要素iあなたの依存関係は?例:

<dependency> 
    <groupId>group-a</groupId> 
    <artifactId>artifact-b</artifactId> 
    <version>1.0</version> 
    <type>aar</type> 
</dependency> 

実際のpomファイルを確認することなく、あなたの問題が何であるかを確かめるのは難しいです。

更新:

  1. mvn clean install 
    
    は、「インストール」限り「パッケージ」より任意の異なる動作を持っていますあなたの問題が懸念している:親プロジェクトから、あなたが実行し、どうなり

  2. ローカルのMavenリポジトリ(〜/ .m2/repository/com/mycompany /.../)に.aarファイルがありますか?

副作用として、私はMaven戦争プラグインにとても満足していません。私はいつもmavenアセンブリプラグインを使って終わった。それだけでうまくいくようで、より一貫しています。また、最新版のmaven(2.0.9)を使用していることを確認してください。私は最新のバージョンで修正された同様の問題を戦うために半日を過ごしました。

関連する問題