Проблема в плагине jar зависимостей в многомодульном pom - PullRequest
0 голосов
/ 25 июня 2010

Существует pom.xml верхнего уровня, который вызывает два подмодуля, как показано ниже:

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

Где module2 зависит от module1

Конфигурация плагина xjc в module1 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>

Конфигурация xjc в pom.xml для module2 выглядит следующим образом:

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

Причиной этой ошибки было то, что зависимость module1 не использовалась во время выполнения плагина XJC во время сборки module2.

Мой вопрос: почему конфигурация плагина xjc module2 не вошла вэффект?

Когда я запускаю mvn в директории module2, она работает нормально, но из директории верхнего уровня происходит сбой.

Любая помощь, что мне не хватает?

1 Ответ

0 голосов
/ 27 июня 2010

Это ограничение / ошибка в Maven 2.x, где все исполнения Плагин в многомодульном проекте имеет тот же путь к классам. Это было исправлено в Maven 3 (так как один из альф).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...