我有几个与此相对应的问题。
这个命令做什么用?
mvn -Declipse.workspace=<your_workspace_location> eclipse:add-maven-repo
为什么我们需要做上述事?
答案 0 :(得分:24)
如果需要,您可以手动执行相同的操作。这就是我个人所做的。只需转到Window / Preferences,然后选择Java / Build Path / Classpath Variables。一旦你做到了,你可以享受maven与eclipse的集成。每次向pom.xml添加新依赖项时,请运行
mvn eclipse:eclipse
并刷新工作区,将所有新库放入项目的类路径中。
修改
这个答案写于5年前。现在任何eclipse发行版都有maven插件,所以eclipse可以直接打开maven项目。您添加到pom.xml的每个依赖项都会自动下载,并且几乎可以立即使用。
答案 1 :(得分:6)
转到Windows-&gt;偏好 - &gt; Java - &gt;构建路径 - &gt;类路径变量 - &gt;新增并添加以下内容;
名称= M2_REPO(或您为Maven存储库提供的名称) Path = C:\ Users \ Administrator.m2 \ repository(我的保存在这里)
答案 2 :(得分:1)
不,您不希望所有maven工件散布在eclipse项目/包资源管理器中的Libraries文件夹中。
你希望所有的maven工件都很好地包装在
的一个子文件夹下Java资源&gt;图书馆&gt; Maven依赖
就像在gd'old时代一样。
在完成其余答案中建议的所有内容之后,您所获得的所有内容仍然是pkg / prj资源管理器顶级列表中的所有maven文物,原因是您刚刚升级到最新最好的Eclipse版本,以及你所拥有的m2eclipse插件版本还没有与Eclipse版本竞争。
你也不希望在每次添加新的maven依赖项时运行mvn eclipse:eclipse或eclipse:config ..这完全违背了maven的意思。
虽然m2eclipse在你打屁股的新日食版本的黑暗中摸索着,
保存您当前的.classpath。
用POME.C(普通的旧maven eclipse .classpath)替换你的eclipse .classpath: http://code.google.com/p/synthfuljava/source/browse/apps/durian/.classpath。
请记住将java版本更改为您的版本。
请记住添加您在orig .classpath中找到的所有自定义非maven路径。
现在,做一个好公民,并为这个eclipse版本提交一个m2eclipse错误(如果我还没有),告诉他们m2eclipse没有构建good'ol POME.C,解释了如何可爱和方便POME.C。
但是由于googlecode这个八月(这是痛苦,谷歌)消失了,这里是文件的正文。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>