繁体   English   中英

在目标阶段无法为Java类生成jaxb .xsd

[英]unable to generate jaxb .xsd to java classes in goal phase

Java-jaxb-Maven插件

我有基于Maven的Web应用程序,在pom中,我有以下插件,应将jaxb .xsd生成为Java类。

当我执行干净,编译时,包xsd类不会生成。 当我手动执行mvn jaxb2:generate时,它的确会在generate-source文件夹中生成xsd类,但不会打包。

我如何才能在不手动执行“ mvn jaxb2:generate”的情况下使其生成xsd类并使之成为战争的一部分? 谢谢我前进。

<plugin>
          <groupId>org.jvnet.jaxb2.maven2</groupId>
          <artifactId>maven-jaxb2-plugin</artifactId>
          <version>0.8.3</version>
          <executions>
            <execution>
              <phase>generate-sources</phase>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <schemaDirectory>src/main/wsdl</schemaDirectory>
          </configuration>
        </plugin>

当您运行mvn clean compile软件包时,它将不会生成XSD类,因为generate-sources并不是打包目标的一部分。 WAR打包的默认绑定是process-resources compile process-test-resources test-compile
测试包安装部署

您可以将其包装在一个配置文件中,然后使用该配置文件运行mvn构建。使用配置文件的另一个原因是,只有在需要生成Java类时才可以使用此配置文件,有时您可以只运行常规构建。

格式是

<profiles>
   <profile>
     <id>generateFromSchemas</id>
        <plugin>
           ......
        </plugin>
   </profile>
 <profiles>

mvn -P generateFromSchemas

我对插件做了如下更新

<plugin>
      <groupId>org.jvnet.jaxb2.maven2</groupId>
      <artifactId>maven-jaxb2-plugin</artifactId>
      <version>0.8.3</version>
      <executions>
        <execution>
          <phase>generate-sources</phase>
          <goals>
            <goal>generate</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <generatePackage>com.equilibriums.samplespringws</generatePackage>
        <schemaDirectory>src/main/wsdl</schemaDirectory>
      </configuration>
    </plugin>

接下来是maven命令

mvn jaxb2:generate compile package

而且效果很棒。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM