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 插件)