2010-06-25 42 views
0

有一個頂層的pom.xml它調用兩個子模塊,如下:問題在多模塊POM插件依賴性罐子

<modules> 
     <module>module1</module> 
     <module>module2</module>   
</modules> 

哪裏模塊2是依賴於模塊1

的XJC插件配置在模塊1的pom.xml是如下:

<build> 
    <plugins> 
      <plugin> 
       <groupId>com.sun.tools.xjc.maven2</groupId> 
       <artifactId>maven-jaxb-plugin</artifactId> 
       <executions> 
        <execution> 
         <goals> 
          <goal>generate</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <strict>false</strict> 
        <extension>true</extension> 
        <verbose>true</verbose> 
       </configuration>    
      </plugin> 
    </plugins> 
    </build> 

在模塊2的pom.xml的XJC配置如下:

 <build> 
     <plugins> 
       <plugin> 
        <groupId>com.sun.tools.xjc.maven2</groupId> 
        <artifactId>maven-jaxb-plugin</artifactId> 
       <dependencies> 
        <dependency> 
         <groupId>com.mycompany.module1</groupId> 
         <artifactId>module1</artifactId> 
         <version>1.0</version> 
         <scope>runtime</scope> 
        </dependency> 
       </dependencies> 
        <executions> 
         <execution> 
          <goals> 
           <goal>generate</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
       <includeSchemas> 
        <includeSchema>schema.xsd</includeSchema> 
       </includeSchemas> 
       <includeBindings> 
        <includeBinding>bindings.xjb</includeBinding> 
       </includeBindings>  
         <strict>false</strict> 
         <extension>true</extension> 
         <verbose>true</verbose> 
         <args>-Xpdm</args>          
        </configuration>     
       </plugin> 
     </plugins> 
    </build> 

現在,當我從頂級目錄MVN運行,那麼模塊2構建失敗,我得到了以下錯誤:

[INFO] unrecognized parameter -Xpdm 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
unrecognized parameter -Xpdm 
     at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:446) 
     at com.sun.tools.xjc.XJC2Task.doXJC(XJC2Task.java:434) 

是因爲未使用的原因錯誤模塊1的依賴而模塊2中XJC插件運行建立。

我的問題:爲什麼module2的xjc插件配置沒有生效?

當我在module2目錄中運行mvn時,它工作正常,但從頂層目錄中失敗。

任何幫助,我在想什麼?

+0

請發佈錯誤消息和POM。 – SingleShot 2010-06-25 07:35:46

+0

格式化了這個問題。 – Sachin 2010-06-25 17:02:03

回答

0

這是Maven 2.x的限制/錯誤,其中多模塊項目中的 插件的所有執行都具有相同的類路徑。在Maven 3中已經修復了 (因爲其中一個alpha)。