【问题标题】:Eclipse 3.7 (indigo SR2) m2e (1.1) import Maven will not add source folders of generated sourcesEclipse 3.7 (indigo SR2) m2e (1.1) import Maven 不会添加生成源的源文件夹
【发布时间】:2012-07-09 17:16:09
【问题描述】:

我有一个更大的 Maven (3.0.4) 项目,其中包含生成 jaxb、javaws 等代码的模块。

我遇到的问题是,在导入项目后,生成的源路径没有添加为 Eclipse 中的源文件夹。目前我需要手动添加文件夹(target/generated-sources/jaxb)以使其在 Eclipse 中工作。

在旧版本的 m2e 中,存在一个控制导入期间运行的阶段的配置。

有人有什么想法需要改变吗?

更新 我已经测试通过 build-helper-maven-plugin 添加源文件夹

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
      <execution>
        <phase>generate-sources</phase>
        <goals>
          <goal>add-source</goal>
        </goals>
        <configuration>
          <sources>
            <source>target/generated-sources/jaxb/</source>
          </sources>
        </configuration>
      </execution>
    </executions>
  </plugin>

但这也不能解决问题。

【问题讨论】:

  • 对于这种特定情况,当在 eclipse 之外输入 mvn eclipse:eclipse 时,它​​对我有用。
  • 我从不使用 eclipse:eclipse。因为我在 Eclipse 中使用 m2e。但这可能是该问题的一个很好的提示。我会检查的。
  • 我也将 m2e 用于 90% 的项目,但在两种情况下它对我不起作用:*jaxb、xjc、jaxws、cxf-codegen... *warpath 插件(导入战争,包括应该成为类路径一部分的类)。
  • 先尝试在eclipse之外构建项目。不存在的文件夹往往不会被添加。

标签: eclipse maven-3 m2e


【解决方案1】:

您需要 m2eclipse-buildhelper 插件来让 m2e 知道如何添加新的源文件夹。 如果版本来自

窗口 > 首选项 > Maven > 发现 > 打开目录...

没有安装,尝试使用这个 p2 更新站点来安装它:

http://repository.tesla.io:8081/nexus/content/sites/m2e.extras/m2eclipse-buildhelper/0.15.0/N/0.15.0.201207090124/

【讨论】:

    【解决方案2】:

    除了将 Maven 控制的依赖项放在类路径中之外,Maven 似乎已经放弃了更新项目配置。这意味着,如果您拥有需要特殊项目性质或类路径配置的 Eclipse 工具,您将不得不自己进行这些配置更改(或希望该工具能够)。

    为了支持这个 m2e,添加了两个 Eclipse 插件可以扩展的 Eclipse 扩展点。当 maven 更新类路径和项目描述时,将调用这些扩展。并且只有当你编写了一个可以调用的 eclipse 插件时才会调用它们。

    还有很多细节,但这些细节需要了解并了解 eclipse 插件开发。

    【讨论】:

      猜你喜欢
      • 2011-11-01
      • 2011-10-30
      • 2014-10-23
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多