【问题标题】:Issue in plugin dependency jar in multi-module pom多模块 pom 中的插件依赖 jar 中的问题
【发布时间】:2011-03-08 04:08:08
【问题描述】:

有一个顶级的 pom.xml 调用两个子模块如下:

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

其中module2依赖于module1

module1 pom.xml中的xjc插件配置如下:

  <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>

module2的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 时,module2 构建失败,我收到以下错误:

[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)

这个错误的原因是因为在module2构建期间执行XJC插件时没有使用module1依赖。

我的问题:为什么module2的xjc插件配置没有生效?

当我在 module2 目录中运行 mvn 时,它可以正常工作,但是从顶级目录中它会失败。

任何帮助,我缺少什么?

【问题讨论】:

  • 请发布错误信息和 POM。

标签: maven-2


【解决方案1】:

这是 Maven 2.x 的限制/错误,其中所有执行 多模块项目中的插件具有相同的类路径。已修复 在 Maven 3 中(因为其中一个 alpha 版本)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2013-01-13
    • 2012-12-25
    • 2019-07-05
    相关资源
    最近更新 更多