对我来说发生的事情是,每次进行 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/