【问题标题】:Very lightweight Eclipse-Maven integration - dependency management only?非常轻量级的 Eclipse-Maven 集成 - 仅依赖管理?
【发布时间】:2012-04-24 17:48:59
【问题描述】:

根据我的经验,Maven 在小型/实验性应用程序中通常是一种过度杀伤力。但是依赖管理是 Maven 非常有用的特性,实际上是唯一对上述类型的应用程序真正有用的特性。

我想知道我是否可以有一个非常最小和轻量级 Eclipse-Maven 集成,它提供以最简单的方式将 Maven 依赖项添加到 Eclipse 项目类路径。

尤其是我不想:

  • 适用于任何 Maven 约定(包括项目布局约定)
  • 安装和使用任何特定的 Eclipse 插件(Eclipse 根本不应该知道它是“Maven 项目”并以任何特殊方式对待它)
  • 以任何其他方式依赖/绑定到 Maven,而不是将其用作轻量级 jar/库下载器

我的第一个(也是唯一一个)想法是从命令行使用Eclipse Maven plugin 来管理项目类路径。但默认情况下,这个插件做的不止于此(设置默认的 maven 项目布局,管理构建器)。我可以限制这个插件只做我想做的事吗?

或者我可以通过其他方式实现我描述的目标吗?

【问题讨论】:

  • 希望你不要使用 Eclipse Indigo?
  • @khmarbaise 事实上,我使用 Eclipse Indigo。为什么重要?
  • 你不应该使用 eclipse 插件来配置路径应该已经由 m2e 通过 Eclipse 完成。如果您不喜欢 maven 方式,最好看看 Ivy。

标签: java eclipse maven dependency-management maven-eclipse-plugin


【解决方案1】:

我找到了一个非常适合我所描述的需求/用例的解决方案:

1。我在 Eclipse 项目根目录中创建了非常小的 pom 文件:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sobczyk.piotr</groupId>
    <artifactId>mvn-eclipse-test</artifactId>
    <version>1.0.0</version>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <outputDirectory>bin</outputDirectory>
    </build>

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
    </dependencies>
</project>

这个 .pom 文件由三部分组成:

  • 必需的 Maven 东西,即。 modelVersion 和 GAV
  • build 部分 Maven 默认源和输出目录并被覆盖以模仿 Eclipse 环境(这是关于限制 maven-eclipse-plugin 行为的部分问题的答案,其他一些 eclipse:eclipse 目标选项,如 buildcommands 可能在一些更复杂的案例)
  • dependencies 部分列出了我需要在项目类路径上拥有的依赖项

2。从命令行我调用了以下命令:

mvn eclipse:configure-workspace -Declipse.workspace=C:/myworkspace
cd C:/myworkspace/myproject
mvn eclipse:eclipse

3。每次我想从 Maven 文件更新 Eclipse 项目类路径时,我可以做以下两件事之一:

【讨论】:

  • 很棒的解决方案,简单轻巧。谢谢!
【解决方案2】:

抱歉,没有。正如你在这里看到的:

http://maven.apache.org/plugins/maven-eclipse-plugin/eclipse-mojo.html

插件的配置允许添加一些额外的 classppath 项、facelets 等,但您不能跳过默认项。

【讨论】:

    猜你喜欢
    • 2012-05-01
    • 2011-12-25
    • 2014-04-14
    • 1970-01-01
    • 2021-01-17
    • 2013-09-28
    • 1970-01-01
    • 2010-09-13
    • 2013-03-31
    相关资源
    最近更新 更多