3

我想知道是否有人遇到过与我相同的问题并可以帮助我。我有一个包含 6 个模块的 Maven 项目。一些模块相互依赖。该项目是用 Java 编写的,并构建为 jars、wars 和 aar。我一直在尝试使用 m2eclipse 插件将其导入 Eclipse。在项目构建之前,它似乎工作正常。在构建过程中,我收到数百个错误,抱怨缺少生成的 Java 文件。我发现 eclipse 无法识别某些生成的包应该被解释为源代码。我真的不知道该怎么办,因为我已经花了很多时间试图解决这个问题。该项目正在使用命令行构建良好。我的目标是在 Tomcat 服务器上调试整个项目

每一个帮助将不胜感激。

谢谢!

4

3 回答 3

2

为什么生成的源文件夹未添加到常见问题解答的类路径条目中所述:

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

并非所有项目都使用生成的源,因此出于性能原因,m2eclipse 在项目导入时默认不运行任何 Maven 目标。这可以在“ Window > Preferences... > Maven > Goals to run on project import ”中的 Maven 设置中进行更改(例如,您可以在该字段中指定“process-resources”构建阶段或特定插件)。

或者,您可以从项目弹出菜单中运行“ Maven > 更新项目配置”操作,该操作默认配置为运行“流程资源”,也可以在同一首选项页面上进行更改。

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

于 2010-03-11T00:39:30.750 回答
0

尝试使用 mvn eclipse:eclipse

在您另外生成源的项目下。当它由 maven 生成时,它通常位于目标文件夹下。

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

在此之后请记住刷新项目。

于 2010-11-02T16:48:14.430 回答
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 中添加这个...

于 2014-03-18T08:50:50.587 回答