我使用XMLBeans Maven插件来生成基于XSD文件的类。我能够使用生成的类编写代码,Eclipse将target/generated-sources/xmlbeans显示为源文件夹。然而,当我试图运行我的测试代码时,我会得到一个典型的错误:
schemaorg_apache_xmlbeans.system.sCFA0DE5D65ADE16E20A85EAFD5A886E4.TypeSystemHolder :java.lang.ClassNotFoundException
如果我查看我的项目文件夹,我可以在文件夹target\generated-classes\xmlbeans\schemaorg_apache_xmlbeans\system\sCFA0DE5D65ADE16E20A85EAFD5A886E4中看到这个类文件。
我是否可以对POM文件进行更改,使Eclipse知道在哪里可以找到这些类?我想有很多方法可以手动修复这个问题,并告诉Eclipse将该文件夹添加到类路径中,但是我更喜欢一个自动的解决方案。
POM片段
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<version>2.3.3</version>
<executions>
<execution>
<goals>
<goal>xmlbeans</goal>
</goals>
</execution>
</executions>
<inherited>true</inherited>
<configuration>
<schemaDirectory>src/main/xsd</schemaDirectory>
<download>true</download>
<javaSource>1.5</javaSource>
</configuration>
</plugin>发布于 2014-03-25 16:54:01
我用它来合并生成的代码。确保在代码生成之后将插件绑定到某个阶段,或者如果使用相同的阶段,则在xmlbeans-maven-plugin配置之后出现此插件配置。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build.helper.maven.plugin.version}</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${xmlbeans.sourceGenerationDirectory}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>发布于 2015-05-26 12:59:13
为我找到了一个可行的解决方案-- 这些家伙编写了一个maven连接器。因此,基本上只需从XMLBeans安装这里连接器即可。
https://stackoverflow.com/questions/22640406
复制相似问题