Каков наилучший способ поддержки нескольких пакетов в scalaxb в проекте maven?
В плагине maven-jaxb2 можно поддерживать несколько сгенерированных пакетов в одном проекте maven, так как configuration
это ребенок execution
в схеме конфигурации плагина, но, похоже, это не относится к scalaxb-maven-plugin; см. сравнение ниже:
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>simulation-params</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<extension></extension>
<args>
<arg>-Xdefault-value</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-default-value</artifactId>
<version>1.1</version>
</plugin>
</plugins>
<generatePackage>edu.cornell.ansci.dairy.econ.simulation.config.params</generatePackage>
<schemaDirectory>${basedir}/src/main/resources/params</schemaDirectory>
<generateDirectory>${basedir}/target/generated-sources/xjc1</generateDirectory>
<forceRegenerate>true</forceRegenerate>
</configuration>
</execution>
<execution>
<id>simulation-config</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<extension></extension>
<args>
<arg>-Xdefault-value</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-default-value</artifactId>
<version>1.1</version>
</plugin>
</plugins>
<generatePackage>edu.cornell.ansci.dairy.econ.simulation.config</generatePackage>
<schemaDirectory>${basedir}/src/main/resources/config</schemaDirectory>
<generateDirectory>${basedir}/target/generated-sources/xjc2</generateDirectory>
<forceRegenerate>true</forceRegenerate>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.scalaxb</groupId>
<artifactId>scalaxb-maven-plugin</artifactId>
<configuration>
<packageName>edu.cornell.ansci.dairy.econ.simulation.config</packageName>
<xsdDirectory>${basedir}/src/main/resources/config</xsdDirectory>
<outputDirectory>${basedir}/target/generated-sources/xjc2</outputDirectory>
</configuration>
<executions>
<execution>
<id>scalaxb</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
1 ответ
Для полноты... на основе комментария @Andrei, вот эквивалентная конфигурация scalaxb для того, что я имел в jaxb2:
<plugin>
<groupId>org.scalaxb</groupId>
<artifactId>scalaxb-maven-plugin</artifactId>
<executions>
<execution>
<id>simulation-params</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packageName>edu.cornell.ansci.dairy.econ.simulation.config.params</packageName>
<xsdDirectory>${basedir}/src/main/resources/params</xsdDirectory>
<outputDirectory>${basedir}/target/generated-sources/xjc1</outputDirectory>
</configuration>
</execution>
<execution>
<id>simulation-config</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packageName>edu.cornell.ansci.dairy.econ.simulation.config</packageName>
<xsdDirectory>${basedir}/src/main/resources/config</xsdDirectory>
<outputDirectory>${basedir}/target/generated-sources/xjc2</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>