java - 无法在目标阶段生成 jaxb .xsd 到 java 类

标签 java jaxb2 maven-jaxb2-plugin jaxb2-maven-plugin

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/

相关文章:

jaxb2 - 如何使用 JAXB 对不同模式应用不同的自定义

Java:JTable 内的 JComboBox - setSelectedIndex 对 GUI 没有影响

java - Intellij 相当于 Eclipse syso

java - 启动应用程序时在 Android 上找不到类异常

java - 如何格式化 JAXB 生成的 java 类?

java - 具有相同名称的 JAXB @XmlRootElement

java - 在 JAXB 中使用 jakarta 依赖项创建 Java 代码时,有没有办法生成值构造函数?

java - 如何使用maven从具有通用模式的多个xsd生成java类

java - 自定义注释处理器未运行

java - Jaxb2 中的默认 List 实现是什么,我该如何更改它?