Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有xmlbeans的eclipsemaven多模块项目_Maven_Xmlbeans Maven Plugin - Fatal编程技术网

带有xmlbeans的eclipsemaven多模块项目

带有xmlbeans的eclipsemaven多模块项目,maven,xmlbeans-maven-plugin,Maven,Xmlbeans Maven Plugin,我有一个多模块项目,其中一个模块(比如module-a)使用xmlbeans插件生成源代码和类。因此,每当我对父项目进行干净的安装时,eclipse都会将所有生成的源代码识别为新类,我不想在没有模式更改的情况下一次又一次地提交相同的文件。为了克服这个问题,我将xmlbeans构建包装在一个概要文件下,以便在模式发生更改时使用概要文件构建它。但这并没有完全解决问题 每当我尝试进行父级的干净构建时,MODULE-A都不会在构建目录下创建“schemaorg_apache_xmlbeans”(这是在我

我有一个多模块项目,其中一个模块(比如module-a)使用xmlbeans插件生成源代码和类。因此,每当我对父项目进行干净的安装时,eclipse都会将所有生成的源代码识别为新类,我不想在没有模式更改的情况下一次又一次地提交相同的文件。为了克服这个问题,我将xmlbeans构建包装在一个概要文件下,以便在模式发生更改时使用概要文件构建它。但这并没有完全解决问题

每当我尝试进行父级的干净构建时,MODULE-A都不会在构建目录下创建“schemaorg_apache_xmlbeans”(这是在我使用概要文件运行时仅由xmlbean插件生成的内容)。我可以告诉maven从clean任务中排除“schemaorg_apache_xmlbeans”。但我想知道这是否是正确的处理方式

感谢您的回复


提前感谢

此方法的一个替代方法是添加此插件:

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
               <execution>
                  <id>add-source</id>
                  <phase>generate-sources</phase>
                  <goals>
                     <goal>add-source</goal>
                  </goals>
                  <configuration>
                     <sources>
                        <source>${project.build.directory}/generated-sources/</source>
                     </sources>
                  </configuration>
               </execution>
            </executions>
         </plugin>

org.codehaus.mojo
构建助手maven插件
添加源
生成源
添加源
${project.build.directory}/生成的源/

这将允许将生成的源添加为源文件夹,以便每次生成时,您都可以生成并使用它们。您不会提交这些,但是当实际的jar被构建/发布时,它们将在那里,并且仍然工作。这使您能够始终在模式中使用最新的代码。这可能不是您的最佳解决方案,但当我遇到类似情况时,我发现这是一个好主意。

谢谢,我尝试过,但它只是将生成的类移动到类中,而不是实际将它们添加到项目的源文件夹中。否,它使其成为源文件夹。它不会移动任何内容,不会移动到src/main/java或/target/classes。这对我来说肯定有效。您是否在Eclipse/update Maven项目配置中进行更新?如果不清楚,您必须将元素中的“生成的源代码”部分更改为“生成的类”,如果生成的java文件实际位于该部分的话。显然,您必须首先删除src/main/java中的旧文件。不过,在那之后,您就不必担心手动执行任何操作了。很抱歉造成混淆,我编辑了我的问题,我对“schemaorg_apache_XmlBean”有问题,请为我澄清一下:运行插件时是否创建了.java文件?如果是这样,你可以使用这个插件。也许它不起作用的一个原因是,这个插件和你的xmlbeans插件都实现了生成源代码的目标——我不知道如何排序。是的,你是对的,这个插件适用于java文件,但在我的例子中,它是运行时文件夹“schemaorg_apache_xmlbeans”,其中包含.xsb文件。