Java - jaxb - maven 插件
我有基于 Maven 的 Web 应用程序,在 pom 中我有以下插件,它应该生成 jaxb .xsd 到 java 类。
当我执行 clean、compile、package xsd 类时,不会生成。当我手动执行 mvn jaxb2:generate 时,它会在generate-source文件夹中生成xsd类,但不会打包在war中。
如何让它生成 xsd 类而不手动执行“mvn jaxb2:generate”并使其成为 war 的一部分?谢谢我提前。
<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 cleancompilepackage 时,它不会生成 XSD 类,因为生成源不是打包目标的一部分。
WAR 打包的默认绑定(bind)是
流程资源
编译
流程测试资源
测试编译
测试
包裹
安装
部署
您可以将其包装在配置文件中,并使用该配置文件运行 mvn 构建 使用配置文件的另一个原因是您只能在需要生成 java 类时使用此配置文件,其他时候您可以只运行常规构建。
格式为
<profiles>
<profile>
<id>generateFromSchemas</id>
<plugin>
......
</plugin>
</profile>
<profiles>
mvn -P 生成模式
关于java - 无法在目标阶段生成 jaxb .xsd 到 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221779/