如何将Maven存储库中的JAR包添加到Eclipse构建路径?

5
从eclipse中,我可以在maven仓库视图中看到所有必要的jar文件。但是由于缺少jar文件,我遇到了大约100个错误。因此,我设置了M2_REPO环境变量,并从命令行运行了mvn eclipse:eclipse命令。当我运行这个命令时,一个ear包被添加到我的项目的子包之一中。例如,我的项目名称是portal。子包是portal_ear。运行mvn eclipse:eclipse命令后,ear被添加到portal_ear目录下的target文件夹中。所以我的问题是,既然我已经在仓库中有这些jar文件,如何将它们添加到eclipse中portal的构建路径中呢?
谢谢。
4个回答

5
当您使用M2Eclipse时,您只需要确保您的Eclipse项目是一个Maven项目。选择项目,点击“转换>转换为Maven项目”或“Maven>启用依赖项管理”。
不要手动添加库。另外,m2eclipse不再使用M2_REPO库变量,也不需要运行“mvn eclipse:eclipse”命令。那已经过时了,你不再需要这么做。
您还可以使用“文件>导入>Maven>现有Maven项目”导入您的项目,M2Eclipse将正确设置项目的构建路径。
如果您有自定义的Maven设置,例如企业存储库,您可能希望告诉M2Eclipse在哪里找到您的settings.xml文件,如果您没有它在用户主目录下而是在Maven安装中(有时人们会这样做)。转到“窗口>首选项>Maven>用户设置”,选择正确的settings.xml文件。

谢谢回复。但是当我写click -> maven时,没有启用依赖管理的选项。有一些选项,例如更新项目配置、更新依赖项、禁用等。也没有转换的选项。我正在使用Eclipse Indigo。 - Sara
那么它已经是一个Maven项目了,请使用“更新项目配置”。如果这不像预期的那样起作用,并且在构建路径中仍然缺少依赖项,要么是您的Maven配置有误(例如settings.xml),要么是您手动添加类路径条目而不是使用pom.xml。 - mhaller

3

从Eclipse市场安装m2e。现在可以将现有的Maven项目导入您的工作区或转换现有项目。

对于Eclipse 3.7非常有效。


3
在我的情况下,我有一个已经在Eclipse中部署良好的现有项目。感谢Mkyong:http://www.mkyong.com/spring-security/spring-security-hello-world-example/ 但是当我需要添加JSTL以支持Logout标签时,我不知道如何将刚刚拉入我的repo的jstl.jar文件添加为另一个M2_REPO / xyz配置。相反,我只能像导入常规 .jar 文件一样导入它,这对我来说似乎不正确。
在阅读了许多帖子并没有成功的情况下,我决定看看是否可以绕过Eclipse UI并手动更新项目配置。从项目中,我在文本编辑器中打开了.classpath,并为该jar文件添加了一个新条目:
<classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2.jar">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

然后我在Eclipse中刷新了我的项目(无需重新启动),接着...

  • 我的JSP页面中出现的JSTL构建错误消失了
  • JSTL的构建路径项与其他项一样出现在M2_REPO中
  • Tomcat中部署的代码正常工作

虽然有点hack,但我认为还是相对干净的 - 致敬。


0

右键单击项目 --> Maven --> 更新项目...
对我来说,它就是这么简单


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接