在Eclipse m2e中,如何引用工作区项目?

Wud*_*ong 30 java eclipse maven m2e

如何使用Eclipse m2e引用另一个工作区项目?

我是否必须在项目设置中添加项目依赖项?但在这种情况下,依赖关系不会显示在pom中.

如果我在pom中设置它们,它将不会在工作空间中引用项目,而是引用本地存储库中的jar.很烦人,有人可以帮忙吗?

nwi*_*ler 59

正确的方法如下:

  • 仅使用POM文件中的dependencies部分,不要乱用Eclipse项目引用.右键单击该项目,然后选择Maven>更新项目配置以将项目重置为Maven默认设置.这样,m2e就拥有了依赖关系.
  • 确保所有引用的项目都在Eclipse中打开并启用了Maven 特性.
  • 检查每个项目的Maven设置,确保groupId,artifactId版本与您在Eclipse中打开的项目匹配.因此,如果您所依赖的项目在Eclipse中具有版本1.0.0-SNAPSHOT,请确保依赖项目的POM文件引用依赖项部分中的版本1.0.0-SNAPSHOT.
  • 为每个项目启用工作空间解决方案.右键单击项目,然后单击Maven>启用工作空间分辨率.
  • 最后,如果项目仍未解决,请再次右键单击该项目,然后单击Maven>更新项目

这应该可以解决您的问题.如果在此之后仍然从文件系统引用了依赖项,请再次检查groupId,artifactId以及每个依赖项的版本.

还要检查项目中是否有任何错误 - 尝试运行Maven安装.

  • 这对我有帮助,但引用的项目被部署为普通文件夹而不是jar文件,有没有办法改变这个?非常感谢提前 (2认同)
  • 根据我自己的评论,问题是案件不匹配.这些项目的名称是大小写混合的.工件ID应该都是小写的,但我也把它们混合了.这破坏了Eclipse中的工作空间解析,但出于某种原因,并没有破坏我的本地存储库 我纠正了案例不匹配,现在工作区解析工作正常. (2认同)

小智 8

我走得更远.如果你曾经运行mvn eclipse:eclipse过你的项目,那么你可能遇到了麻烦.我的情况是,我的eclipse项目中有一个" Referenced Libraries "部分和一个" Maven Dependencies "部分,库版本冲突,导致eclipse和我不可避免的混淆.

我发现最安全的事情是从命令行运行mvn eclipse:clean然后返回到eclipse,刷新项目,"确定"生成的问题对话框,然后转到Maven>更新项目.这为我排序了全部.


hee*_*min 5

当eclipse麻烦于导入和删除几个项目时,您可能需要重建Maven存储库的索引。这是我做的一种方法。

  1. 检查是否正确通过eclipse将引用的项目识别为Maven项目。

    在菜单栏中,单击Window -> Show View -> Other...
    当“显示视图”窗口弹出时,选择Maven -> Maven Repositories
    在“ Maven存储库”窗口中,您应该在中看到该项目为jar文件。Local Repositories -> Workspace Projects
    如果在中找不到您的项目Workspace Projects,请右键单击Workspace Projects并选择Rebuild Index

  2. 更新引用项目的Maven

    右键单击引用项目, Maven -> Update Project... -> OK