我想知道是否有人遇到了和我一样的问题,可以帮助我。 我有一个包含6个模块的maven项目。一些模块相互依赖。该项目是用Java编写的,并构建为jar,wars和aar。我一直在尝试使用m2eclipse插件将其导入Eclipse。在项目构建之前,似乎工作正常。在构建过程中,我收到数百个错误,抱怨缺少生成的Java文件。正如我发现eclipse无法识别某些生成的包应该被解释为源代码。我不知道该怎么做,因为我花了很多时间试图解决这个问题。该项目正在使用命令行构建。我的目标是在Tomcat服务器上调试整个项目,这就是我想使用eclipse的原因,因为它与Tomcat有很好的集成。
非常感谢每一位帮助。
谢谢!
答案 0 :(得分:2)
如常见问题的Why generated source folders are not added to classpath条目所述:
Maven插件用于生成源代码 来自资源或其他来源的代码 可以注册其他源文件夹 在构建期间到Maven项目。 通常这样的插件是必然的 流程资源(或 process-test-resources)构建阶段 (例如jaxb,modello或xdoclet 插件)。这意味着要获得那些 生成源的源文件夹, 我们必须运行相应的Maven 建立阶段。
并非所有项目都使用生成 来源,所以出于性能原因, m2eclipse不会运行任何Maven目标 默认情况下,项目导入。这个可以 在Maven设置中更改 “窗口> 首选项... > Maven > 项目导入时运行的目标“(例如 你可以指定“进程资源” 构建阶段或特定插件 那个领域)。
或者,您可以运行“ Maven > 更新项目配置“操作 从项目弹出菜单,这是 配置为运行“进程资源” 默认情况下也可以更改 在同一个偏好页面上。
因此,要么将源生成过程绑定到的目标添加到导入时运行的目标列表,要么通过运行maven并更新项目配置来生成源。
答案 1 :(得分:0)
尝试使用mvn eclipse:eclipse
在您另外生成源的项目下。当它由maven生成时,它通常位于目标文件夹下。
因此eclipse:eclipse
将识别此内容并添加为源文件夹。
Rembember在此之后刷新项目。
答案 2 :(得分:0)
使用 build-helper-maven-plugin (下面的示例)告诉Eclipse将生成的文件夹添加到构建路径:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/cxf</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
在每个生成源代码的项目的pom中添加它......