java - Maven + Eclipse : Adding exclusions

标签 java eclipse maven

我正在我们的软件中配置 Maven,它运行得非常好。我有一些细节需要修复,但它们没有按照我想要的方式工作,我需要知道我能做什么。具体来说,我们都使用 Eclipse,并且在之前的配置(没有 Maven)中,我们手动定义了构建路径中的包含和排除。因此,我们有诸如排除 */.svn/ 和 Include(All) 之类的内容。

我们使用项目->自动构建选项进行检查,因此我们发现Eclipse的构建与Maven的构建不同。检查“构建路径”选项,我们发现对于 Eclipse,问题来自包含和排除。我们在 OutputDirectory 下创建了一个 lib 文件夹,并且存在一些丢失的文件,因为如果我们这样做

mvn eclipse:eclipse

包含模式类似于*.java,我们需要 Include(All)。那么,有没有办法从我们的 pom 中定义 Eclipse 构建路径中的特定包含/排除选项?

我们有一个特定的源结构,因此我们已经定义了如下插件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.9.1</version>
    <executions>
        <execution>
            <id>default-source-folders</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>
                     ...

此外,我需要知道是否已弃用配置 eclipse

mvn eclipse:eclipse

因为我了解到该插件已被弃用。

编辑:我正在使用 Maven 3.3 和 Eclipse 4.4.1。

最佳答案

是的,maven-eclipse-plugin已停产,您不应使用它。从他们的主页:

Note: This plugin is retired. It is no longer maintained.

我遇到过与您面临的非常相似的问题:当 Maven 生成源文件时,Eclipse 与 M2Eclipse 一起使用,即使使用 build-helper-maven-plugin 将这些源显式添加到构建路径中也是如此,并不总是检测到这些新源,并且会导致 Eclipse 中的构建错误(尽管 Maven 构建没问题)。我没有找到任何直接解决问题的好方法。

我发现工作得相当好的唯一解决方法是通过右键单击新的源父文件夹并选择“构建路径 > 用作源文件夹”来手动将生成的源添加到 Eclipse 项目的构建路径/em>。这解决了构建路径问题。完成此操作后,即使在完全清理和重建 Maven 项目之后,它仍然可以继续工作。

一般来说,您不应该手动修改构建路径的包含和排除规则。在这种特殊情况下,这是我找到的唯一解决方法,但请注意,我们只是将这个特定的新源文件夹添加到构建路径中。没有任何内容被手动排除。

我希望 M2Eclipse 插件及其连接器将来能够一致地支持用例......

关于java - Maven + Eclipse : Adding exclusions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35185515/

相关文章:

java - 在@BeforeAll 注释方法中使用 JUnit 5 运行的测试中,Mockito 不会初始化模拟

java - 由于 DDMS post create init,Eclipse 挂起

java - 当将 Boolean 转换为 boolean 时 Eclipse 可以给我警告吗

java - 从 Maven 调用 groovy 'main' 方法

java - 如何将 Groovy 脚本添加到具有经典 Maven 结构的 Java 项目中?

java - 使用 java jar 从资源文件夹加载文件

java - 在没有互联网的情况下,需要更多时间从类路径加载 spring-*.xsd 文件

java - 如何在Intellij中使用Gradle构建OpenFire插件?

java - Lombok 创建多个 setter

android - Honeycomb 预览 - 无法在 Eclipse 下的模拟器上安装我的应用程序