java - 在 maven-jaxb2-plugin 中的 Maven 依赖项更改 XSD 文件后重新生成类

标签 java eclipse maven jaxb maven-jaxb2-plugin

我在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/

相关文章:

java - TableView内容不显示

eclipse - 使用 eclipse 和 SVN 自动更新和构建

maven - 在 liferay maven portlet 中将资源-操作-映射放在哪里

java - 在运行时访问 jacob-1.18-x86.dll 时出现问题

java - 为什么Java中的私有(private)方法是隐式的final?

java - Tomcat 7 -> Jersey java.lang.NoClassDefFoundError : com/google/common/base/Splitter

java - FileCleaner 是为了避免在 Web 应用程序中进行多次部署吗?

java - 将绝对路径中可用的 jar 文件添加到类路径中

java - 无法使用父类中的变量?

eclipse - 如果它在同一个文件中并且未被编辑,如何导航到 Eclipse 中的最后一个光标位置?