1

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

1 回答 1

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>
于 2017-08-12T20:36:28.210 回答