如何在构建路径eclipse中添加"Maven Managed Dependencies"库?

Ami*_*tel 62 java eclipse maven

我创建了一个Maven项目,我想Maven在项目的构建路径中添加所有依赖项Eclipse.当我在项目的属性对话框中转到Java Build Path> Add Library> Maven Managed Dependency> Next时,它要求我使用"Maven项目设置"来配置Maven依赖项解析.

我的问题是如何在当前构建路径中添加maven依赖项?

ftr*_*ers 48

从命令行类型:

mvn eclipse:eclipse
Run Code Online (Sandbox Code Playgroud)

这会将你在pom.xml中的所有依赖项添加到eclipse中......

但是,如果您之前没有做过任何此类操作,则可能需要另外执行一次,仅执行一次.

关闭eclipse,然后从shell运行以下命令:

mvn -Declipse.workspace=<eclipse workspace> eclipse:add-maven-repo
Run Code Online (Sandbox Code Playgroud)

样品:

mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ eclipse:add-maven-repo
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要执行以下操作:"单击项目上的正确> Maven>更新项目"以启用maven依赖项...它对我有用,请参阅http://stackoverflow.com/questions/2037188/how-to-configure- Eclipse的构建路径使用的Maven的依赖性 (27认同)
  • [eclipse:add-maven-repo](http://maven.apache.org/plugins/maven-eclipse-plugin/add-maven-repo-mojo.html)已被弃用,以支持[eclipse:configure-workspace ](http://maven.apache.org/plugins/maven-eclipse-plugin/configure-workspace-mojo.html) (9认同)
  • 如果你正在使用M2Eclipse那么eclipse:eclipse不能很好地运行,当你改变你的依赖关系时你可能不得不重新运行.通常情况下,你的pom中存在一些问题,即M2Eclipse不喜欢你需要找到的东西.我在我的回答中发布了一个解决方法,可能会让你暂时解决,但解决方案是找到根本原因. (4认同)

sch*_*rer 36

如果您安装了m2e并且该项目已经是maven项目但仍然缺少maven依赖项,那么对我来说最简单的方法是

  • 右键单击该项目,
  • Maven的,
  • 更新项目......

Eclipse截图

  • 不起作用,如果我添加Maven托管依赖项(在Java Build Path-> Libraries下添加库),没有任何反应..... (4认同)

Mar*_*uee 11

我使用SpringSource Tool Suite也遇到了同样的问题.我正在导入一个从命令行运行良好的现有Maven项目.但是,当我使用import - > Maven - >现有Maven项目导入项目时,项目没有正确导入导入,我无法将maven托管依赖项库添加到构建路径.

如果我从命令行运行mvn install,那么项目就会成功构建.如果我运行mvn eclipse:eclipse然后导入到STS中,那么一切都按预期工作,除了我每次更新pom时都必须重新运行它,这是不可取的.

我通过运行mvn eclipse:eclipse然后手动更新.classpath来消除添加的M2_REPO eclipse:eclipse依赖项并添加m2eclipse依赖项:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
  <attributes>
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
  </attributes>
</classpathentry>
Run Code Online (Sandbox Code Playgroud)

然后我导入了现有的Maven项目,它按预期工作.

这是一个黑客,我不确定eclipse:ecplise使用m2eclipse时运行的其他后果是什么.但它确实至少允许我编译我的项目,所以我可以编写代码.


编辑1/4/2013

我上面发布的解决方法暂时有效,我从未发现任何负面影响.但是,我现在已经有过几次这个问题了,而且每次问题都是maven接受的某些pom部分,但m2eclipse barfs就开始了.

因此,我建议逐个删除pom的部分,直到您可以成功地对项目进行mavenize.只需继续运行maven - >在每个pom编辑后更新配置,直到它按预期工作.我通常首先从最可疑的(即最复杂的)开始一次删除一个插件配置标记块.

一旦它正常结合,你可以恢复它,它应该仍然按预期工作.

在我开始运行之后,我会研究有问题的配置以试图弄清楚"正确"的修复是什么(根据m2eclipse,无论如何).

希望这种方法能够带来永久的解决方案,而不是为了解决hacky变通办法!


Ped*_*rid 11

确保您的pom.xml中定义的打包策略不是"pom".它应该是"罐子"或其他任何东西.完成后,右键单击更新项目并转到Maven - >更新项目...


smw*_*dia 7

  • 安装M2E插件.
  • 右键单击您的项目,然后选择配置 - >转换为Maven项目.

在此输入图像描述

  • 然后pom.xml文件将显示在您的项目中.双击pom.xml,选择Dependency选项卡以添加项目所依赖的jar.


Rag*_*ram 6

您可以安装M2Eclipse并在Eclipse中将项目作为maven项目打开.它将创建必要的配置和条目.

这对后续更新pom也很有用.使用maven eclipse插件,您需要为每个更改手动重新生成eclipse配置.