我在A项目中有XSD文件,并且在B项目中生成类,所以我的B的maven配置是这样的:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>${maven-jaxb2-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemas>
<schema>
<dependencyResource>
<groupId>some.group</groupId>
<artifactId>some.artifact</artifactId>
<version>${project.version}</version>
<resource>some.xsd</resource>
</dependencyResource>
</schema>
</schemas>
<generatePackage>some.package</generatePackage>
<generateDirectory>src/main/gen</generateDirectory>
<forceRegenerate>false</forceRegenerate>
</configuration>
</plugin>
但是现在,当我更改 XSD 文件时,Eclipse Maven Builder 不会看到更改,并且不会重新生成类。当我将 forceRegenerate 属性更改为 true 时,Eclipse 将在无限循环中无限地重新生成这些类。
除了仅当我更改代码中的某些内容时将 forceRegenerate 属性设置为 true 之外,还有其他解决方案吗?
最佳答案
免责声明:我是 maven-jaxb2-plugin
的作者.
正如我从您的配置中获取的那样,您可以从依赖项资源编译架构:
<configuration>
<schemas>
<schema>
<dependencyResource>
<groupId>some.group</groupId>
<artifactId>some.artifact</artifactId>
<version>${project.version}</version>
<resource>some.xsd</resource>
</dependencyResource>
</schema>
</schemas>
<generatePackage>some.package</generatePackage>
<generateDirectory>src/main/gen</generateDirectory>
<forceRegenerate>false</forceRegenerate>
</configuration>
即来自 Maven Artifact 。
目前尚未检查 Maven Artifact 的真实性,请提交功能请求 here .
关于java - 在 maven-jaxb2-plugin 中的 Maven 依赖项更改 XSD 文件后重新生成类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27041802/