There is a top level pom.xml which calls two sub modules as below:
<modules>
<module>module1</module>
<module>module2</module>
</modules>
Where module2 is dependent on module1
The xjc plugin configuration in module1 pom.xml is as below:
<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>
The xjc configuration in module2's pom.xml is as below:
<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>
Now when I run mvn from top level directory then module2 build fails, I get the below error:
[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)
The reason for this error was because module1 dependency was not used while XJC plugin execution during module2 build.
My question: why module2's xjc plugin configuration did not come into effect?
When I run mvn in module2 directory it works fine but from top level directory it fails.
Any help, what I am missing at?