在maven项目中支持scalaxb中的多个包的最佳方法是什么?

时间:2017-08-12 19:23:37

标签: scala maven-3 scalaxb

在maven-jaxb2-plugin中,可以在同一个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 个答案:

答案 0 :(得分:0)

为了完整性...基于@Andrei的评论,这里是我在jaxb2中的等效scalaxb配置:

  <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>
相关问题