23

在 Helios/m2eclipse 下,当我生成 jaxb 源时,当我执行“更新项目配置”时,它们将被放在 Eclipse 源路径中。

Indigo/m2e(2011 年 6 月 22 日的初始版本)不会发生这种情况。我需要做什么来解决这个问题?

我使用的是标准的 maven-jaxb2-plugin,版本 0.75。

4

5 回答 5

25

在 Eclipse 中,转到“安装新软件”添加软件站点:http ://bitstrings.github.com/m2e-connectors-p2/releases/

选择“jaxb2 的 m2e 连接器”

安装该插件后,jaxb2 插件应该与新版本的 m2e 正确集成。

此信息来自:https ://bugs.eclipse.org/bugs/show_bug.cgi?id=350299

于 2011-07-11T16:59:49.920 回答
6

好吧,您需要右键单击“target/generated-sources/xjc”并选择“Build Path -> Use as source folder”之类的内容

于 2012-11-21T16:20:16.907 回答
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>
于 2013-03-25T16:33:06.473 回答
1

在等待解决此问题时,我正在使用以下临时解决方法:

我们在一个单独的 maven 模块中有 jaxb-plugin 和生成的类。在 Eclipse 中,我只能在该模块上“禁用 Maven 自然”。然后我可以在我们的大型 maven 项目的其余部分中使用 Indigo 和 m2eclipse,它将取决于 jaxb 模块的 jar(必须从命令行构建)。这对我来说很有效,因为我们的项目已经以这种方式组织了。

于 2011-06-28T06:48:41.413 回答
0

对于那些遭受 maven-jaxb2-plugin 和 Eclipse 没有附加源代码的人。作者已从Sun 切换到 Glassfish JAXB 工件,并且依赖关系树已更改。以前许多 JAR 被隐藏在jaxb-xjc没有传递的 JAR 中。现在,这已被删除,并且之前的传递依赖会tools.jar中断 Eclipse 执行。使用 JDK VM 启动 Eclipse,它将工作。(测试了最新的 Maven 3.3.9、Maven JAXB2 插件 0.13.1、最新的 m2e JAXB2 连接器和 Eclipse Mars.2)

于 2016-04-14T10:53:31.903 回答