Eclipse m2eclipse 从本地存储库获取依赖项

Posted

技术标签:

【中文标题】Eclipse m2eclipse 从本地存储库获取依赖项【英文标题】:Eclipse m2eclipse getting dependencies from local repository 【发布时间】:2011-02-18 08:43:58 【问题描述】:

我在我的机器上安装了本地依赖项(~/.m2/repository/blah/blah/blah),m2eclipse 无法识别它们 - 我认为 m2eclipse 正在使用它自己的 maven 实例。有没有办法强制m2eclipse在osx中​​使用本地maven安装?

【问题讨论】:

【参考方案1】:

我遇到了完全相同的问题。我通过 install-file 命令将 JAR 添加到本地存储库。我确认它们已安装。我重建了索引。我进入目录并使用 7Zip 检查了 JAR 文件,但我无法让它出现在我的 Eclipse 项目内的 Maven 依赖项中。

对我来说,这个解决方案非常愚蠢。当我使用依赖项编辑器将依赖项添加到 pom.xml 中时,Maven 在 XML 中添加了一个打包节。所以 XML 条目看起来像:

    <dependency>
        <groupId>slf4j</groupId>
        <artifactId>jdk14</artifactId>
        <version>1.5.8</version>
        <type>JAR</type>
    </dependency>

当我删除最后一节“JAR”并输入时:

    <dependency>
        <groupId>slf4j</groupId>
        <artifactId>jdk14</artifactId>
        <version>1.5.8</version>
    </dependency>

一切正常。

【讨论】:

【参考方案2】:

检查 jar 是否安装正确。安装到本地存储库时,当您提供不正确的 jar 路径时,Maven 不会出错。当我运行下面的命令时,jgravatar.jar 不在我的 ~ 目录中。

mvn install:install-file -Dfile=~/jgravatar.jar -DgroupId=jgravatar -DartifactId=jgravatar -Dversion=06292012 -Dpackaging=jar

[INFO] Installing /Users/steve/~/jgravatar.jar to /Users/steve/.m2/repository/jgravatar/jgravatar/06292012/jgravatar-06292012.jar
[INFO] Installing /var/folders/gz/gjyqtkzj3ys8lpmh_38qvmn00000gq/T/mvninstall2662938607942511865.pom to /Users/steve/.m2/repository/jgravatar/jgravatar/06292012/jgravatar-06292012.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

【讨论】:

【参考方案3】:

我遇到了同样的问题,这对我有用。使用 Eclipse Indigo:

Windows->显示视图->其他

在弹出窗口中: Maven->Maven 存储库

显示视图后,右键单击相应的 repo,然后选择“重建索引”

等待几秒钟,完成!

【讨论】:

谢谢。这解决了我的问题。【参考方案4】:

我的机器上本地安装了依赖项 (~/.m2/repository/blah/blah/blah),m2eclipse 无法识别它们。

他们有好的元数据吗?你是如何安装它们的?因为 m2eclipse 肯定会使用您的本地存储库进行依赖解析。

我认为 m2eclipse 正在使用它自己的 maven 实例。有什么办法可以强制m2eclipse在osx中​​使用本地maven安装?

是的,m2eclipse 默认使用它自己的 Maven 版本,您可以通过 Window > Preferences > Maven > Installations 添加外部安装,但这不会改变任何人使用的本地存储库或者您可以通过 Window > Preferences > Maven > User Settings 配置的其他选项,如下所示:

alt text http://www.imagebanana.com/img/w5y2vevt/screenshot_008.png

这让我们回到上面的问题:你是如何“安装”有问题的依赖项的?

【讨论】:

问题不在于 m2eclipse,而在于依赖项的安装。 @wuntee ,我面临同样的问题,依赖项是通过 maven-install 命令下载的,但是,安装后无法从我的本地存储库中找到它们。您是如何解决您的问题的,能否详细说明。【参考方案5】:

您可以在 Windows->Preferences->Maven->Installations 中更改使用的 Maven 实例。但我不确定这是否会有所帮助,因为该设置下方的评论说依赖解析仍将通过内部 Maven 安装完成。

如果我是你,我会尝试将该本地存储库添加到已知存储库列表中。使用 Window->Show View->Maven 存储库(遗憾的是,这在首选项中不可见)。

【讨论】:

以上是关于Eclipse m2eclipse 从本地存储库获取依赖项的主要内容,如果未能解决你的问题,请参考以下文章

Maven“模块”与“项目”(Eclipse,m2eclipse 插件)

m2Eclipse中的空目标列表

m2eclipse 找不到 Maven 依赖项,找不到工件

一次m2eclipse的安装大坑经历之http://m2eclipse.sonatype.org/sites/m2e

Eclipse上安装m2eclipse

Eclipse + Subversion (subclipse) + Maven (m2eclipse) 多模块项目