在Helios / m2eclipse下,当我生成jaxb源时,当我执行“更新项目配置”时,它们将被放在Eclipse源路径上。
Indigo / m2e(2011年6月22日首次发布)不会发生这种情况。我需要做些什么来解决这个问题?
我正在使用标准的maven-jaxb2-plugin,版本0.75。
答案 0 :(得分:25)
在Eclipse中,转到“安装新软件”添加软件站点:http://bitstrings.github.com/m2e-connectors-p2/releases/
选择“适用于jaxb2的m2e连接器”
安装完该插件后,jaxb2插件应该与新版本的m2e正确集成。
答案 1 :(得分:6)
好吧,你需要右键点击“target / generated-sources / xjc并选择类似”Build Path - >用作源文件夹“
答案 2 :(得分:2)
作为替代解决方法,如果无法使m2e连接器正常工作,可以使用build-helper-maven-plugin将生成的源添加到构建路径中:
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/xmlbeans</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
答案 3 :(得分:1)
在等待修复此问题时,我正在使用以下临时解决方法:
我们在单独的maven模块中有jaxb-plugin和生成的类。在eclipse中,我只能在该模块上“禁用Maven nature”。然后我可以在我们的大型maven项目的其余部分使用带有m2eclipse的Indigo,它将取决于jaxb模块的jar(必须从命令行构建)。这对我很有用,因为我们的项目已经以这种方式组织起来。
答案 4 :(得分:0)
对于那些患有maven-jaxb2-plugin且Eclipse没有附加源的人。作者已从Sun to the Glassfish JAXB artifacts切换,并且依赖关系树已更改。以前许多JAR被遮蔽到jaxb-xjc
而没有可传递的JAR。现在,这已被删除,之前对tools.jar
的传递依赖性破坏了Eclipse的执行。使用JDK VM启动Eclipse,它将起作用。 (测试了最新的Maven 3.3.9,Maven JAXB2插件0.13.1,最近的m2e JAXB2连接器和Eclipse Mars.2)