2010-03-11 55 views
3

我想知道是否有人遇到与我一样的问题并可以帮助我。 我有一个包含6个模块的maven项目。一些模块相互依赖。该项目是用Java编写的,并建立到罐子,战争和空军。我一直试图用m2eclipse插件将它导入到Eclipse中。它似乎工作正常,直到项目建成。在构建过程中,我收到数百个错误,抱怨缺少生成的Java文件。正如我发现日食无法识别一些生成的包应该被解释为源代码。我不知道该怎么处理,因为我花了很多时间来解决这个问题。该项目使用命令行构建。我的目标是在Tomcat服务器上调试整个项目,这就是为什么我想使用eclipse,因为它与Tomcat有很好的集成。通过将多个模块maven 2项目导入到eclipse工作区中导致的问题

每一个帮助将不胜感激。

谢谢!

回答

2

由于记录在FAQ的Why generated source folders are not added to classpath条目:

用于生成源从资源或其他来源 代码Maven插件可以在生成过程中的Maven项目 注册额外的源文件夹。 通常这些插件绑定到 流程资源(或 流程测试资源)构建阶段 (例如jaxb,modello或xdoclet 插件)。这意味着要获取那些生成源的源文件夹 ,我们必须运行相应的Maven 构建阶段。使用产生

并不是所有的项目 来源,所以对于性能方面的原因, m2eclipse的默认情况下不上项目导入运行任何Maven目标 。这可以 在Maven设置中更改在 “窗口>首选项...>的Maven> 目标,以项目进口运行”(例如 可以指定“处理资源” 构建相位或特定插件 那个字段)。

或者你可以运行“Maven的> 更新项目配置”行动 从项目弹出菜单,这是 配置为运行“过程资源” 默认情况下,它可以是也改变 相同的首选项页面。

因此,将源代生成过程绑定到的目标添加到要在导入上运行的目标列表中,或者通过运行maven并更新项目配置来生成源代码。

+0

非常感谢帕斯卡尔。对不起,我没有检查过。 – Mike 2010-05-21 19:34:18

0

尝试使用mvn eclipse:eclipse

下,你必须额外产生源项目。当它由maven生成时,通常位于目标文件夹下。

因此,eclipse:eclipse将识别此并添加为源文件夹。

在此之后重新登录项目。

0

使用集结帮手 - Maven的插件(样品波纹管),以告诉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添加此。 ..

相关问题