java - JAXB maven 插件只能在发生变化时生成源代码吗?

标签 java eclipse maven jaxb maven-jaxb2-plugin

对我来说发生的事情是,每次进行 Maven 构建时,我的所有文件都会重新生成。我不希望这样,因为我没有对我的 .xsd 文件进行任何更改,而发生的事情是,因为它们是重新生成的,所以 git 将它们视为对这些文件进行了更改。

这是我的配置:

<execution>
  <id>myExecution</id>
  <goals>
<goal>generate</goal>
  </goals>
   <configuration>
     <schemaDirectory>src/main/resources/MySchema.xsd</schemaDirectory>
     <generatePackage>com.mypackage</generatePackage>
     <generateDirectory>src/main/java</generateDirectory>
     <episode>false</episode>
   </configuration>
</execution>

有办法解决这个问题吗?

最佳答案

永远不要将生成的源代码写入 src/main/java 目录。只需使用默认的 generateDirectory 值(${project.build.directory}/generated-sources/xjc)——它会自动添加到编译源中。

最佳做法是将构建过程生成的所有 Artifact 放入 Maven 目标目录(也称为 ${project.build.directory})。

此外,我建议您使用 Codehaus JAXB-2 Maven Plugin因为它似乎得到了更好的维护。

关于java - JAXB maven 插件只能在发生变化时生成源代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781719/

相关文章:

java - Win x64 IDE 和 Java 上的 Win x32 项目

c++ - 启动失败 : Binary Not Found

java - Eclipse 无法找到 GWT Binder 的 css 文件

java - 计算退房价格

java - 根据对象属性名称的指定顺序快速对对象进行排序

maven - 使用Streams和Maven时编译错误

java - 为什么我不能在 spring-boot 中使用 apache httpcomponents 对象,即使它列在 MVN 依赖项中?

java - 如何构建服务以及如何在 CQ5 中激活服务

java - 如何在大量 AsyncTasks 运行时提高性能

java - 我应该使用 Eclipse 插件(或 OSGi Bundles)作为普通的依赖管理工具吗?