如何在构buildpatheclipse中添加“Maven Managed Dependencies”库?
我创build了一个Maven
项目,我想在Eclipse
添加项目的构buildpath中的所有Maven
依赖项。 当我去到项目的属性对话框中的Java构buildpath>添加库> Maven托pipe依赖项>下一步,它要求我使用“Maven项目设置”来configurationMaven依赖项parsing。
我的问题是如何添加当前构buildpath的Maven依赖关系?
从命令行input:
mvn eclipse:eclipse
这将把您在pom.xml中的所有依赖添加到eclipse中…
但是,如果你之前没有做过任何这样的事情,你可能需要做另外一个,一次只有一步。
closureseclipse,然后从shell运行以下命令:
mvn -Declipse.workspace=<eclipse workspace> eclipse:add-maven-repo
样品:
mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ eclipse:add-maven-repo
如果你已经安装了m2e,并且这个项目已经是一个maven项目,但是maven的依赖关系仍然没有,最简单的方法是
- 右键单击该项目,
- Maven的,
- 更新项目…
我有使用SpringSource工具套件相同的问题。 我正在导入一个从命令行运行正常的Maven项目。 但是,当我导入项目使用导入 – > Maven – >现有的Maven项目,该项目没有导入正确的导入,我不能将mavenpipe理的依赖库添加到构buildpath。
如果我从命令行运行mvn install,那么项目会成功build立。 如果我运行mvn eclipse:eclipse,然后导入到STS,那么一切都按预期工作,除非我每次更新pom时都不得不重新运行它,这是不可取的。
我通过运行mvn eclipse:eclipse
解决了这个问题,然后手动更新.classpath,以消除eclipse添加的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>
然后我导入现有的Maven项目,并按预期工作。
这是一个黑客,我不知道什么其他的后果运行eclipse:ecplise
有m2eclipse工作时。 但是它至less让我能够编译我的项目,所以我可以编写代码。
编辑1/4/2013
我上面发布的解决方法将暂时工作,我从来没有发现任何消极的副作用。 不过,我现在已经有了这个问题几次了,每一次问题都是maven接受的但是m2eclipse barfs上的那个部分。
所以我build议删除1的部分1,直到你可以成功的项目。 只要继续运行maven – >在每个pom编辑之后更新configuration,直到它应该如此。 我通常从一开始就删除插件configuration标记块,从最可疑的(即最复杂的)开始。
一旦它正确运行,你可以恢复POM,它应该仍然按预期工作。
在我跑完之后,我会研究一下这个违规的configuration,试图找出“正确的”解决scheme(无论如何,依照m2eclipse)。
希望这种方法导致永久的解决scheme,而不是解决一个hacky的解决方法!
确保您的pom.xml中定义的打包策略不是“pom”。 它应该是“jar子”或其他任何东西。 一旦你这样做,更新你的项目,点击它,并转到Maven – >更新项目…
您可以安装M2Eclipse,并在Eclipse中将项目作为maven项目打开。 它将创build必要的configuration和条目。
这对于后续的更新也是很有用的。 使用maven eclipse插件,您将需要手动重新生成每个更改的eclipseconfiguration。
- 安装M2E插件。
- 右键单击您的项目,然后selectconfiguration – >转换为Maven项目。
- 然后一个pom.xml文件将显示在您的项目中。 双击pom.xml,selectDependency选项卡,添加项目所依赖的jar。
我可以弄清楚这个问题。 我在eclipse启动时收到以下警告。
The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDk. Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that Installed JRE's are also using JDK installs
我更改了eclipse.ini文件并添加了以下内容并重新启动了eclipse
-vm C:/Program Files/java/jdk1.6.0_21/bin/javaw.exe
现在我可以看到“Maven Dependency”库自动包含在java构buildpath中。
如果Maven->更新项目不适合你? 这些是我宗教上遵循的步骤。 从Eclipse中删除项目(不要从工作区中删除)closuresEclipse进入命令行并运行这些命令。
mvn eclipse:clean mvn eclipse:eclipse -Dwtpversion=2.0
打开Eclipse导入现有的Maven项目。 您将在我们的项目中看到Maven依赖项。
希望这个作品。
如果你使用一个eclipse插件来完成你的maven任务(其中有2个:从sonatypeinputM2ecipse,在Google Code中input'official'和q4e),那么在上下文菜单中有一些选项(右键点击项目)那无痛的。
你可以同时在你的eclipse工作台上同时运行两个插件,并在每个项目的基础上使用它们。
尝试:右键单击您的项目 – > Maven->禁用依赖pipe理。 并重新启用依赖pipe理。
你也可以考虑将maven-dependency-plugin添加到你的pom中:
<plugins> ... <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>process-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> ... </plugins>
比你可以运行“mvn包”和maven将所有需要的依赖项复制到your_project_path / target / your_project_name / WEB-INF / lib /目录。 从那里你可以将它们复制到你的项目/ lib目录并添加为外部jar子(configuration您的项目设置构buildpath)