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

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

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

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

正确的方法如下:

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

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

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

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

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

当eclipse与导入和删除多个项目混乱时,您可能需要重建maven存储库的索引。 这是我做过的一种方式。

  1. 检查引用的项目是否被eclipse正确识别为maven项目。

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

  2. 更新引用项目的maven

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

您还需要确保运行正确的目标。

如果您没有运行安装目标,那么它将不会被复制到您的存储库,也不会编译。

要了解有关目标的更多信息,请访问https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html