Maven:m2eclipse:禁用工作区解析导致神器丢失

时间:2013-11-20 15:55:18

标签: eclipse maven workspace m2e

我的项目A依赖于Eclipse工作区中的项目B和C.

有时我希望A使用存储库中的工件B和C而不是工作空间中的版本来运行。因此,我选择A,然后选择'Maven->禁用“工作空间分辨率”,以便A使用存储库中的版本。

但是,一旦我采取上述行动,我就会在项目A的pom文件中收到错误消息“Missing artifact B”和“Missing artifact C”。

我试图清理项目,我选择'Maven |选中“强制更新罐子/发布”选项更新''。没有这些解决了这个问题。

我使用'Maven->禁用工作区分辨率'错误?


其他信息:这些项目的确切版本在存储库中。实际上,如果我在工作区中关闭项目B和C,项目A会愉快地使用B和C的存储库版本。

4 个答案:

答案 0 :(得分:5)

您需要在本地m2存储库中安装项目B和C,并使用项目A的pom.xml中引用的确切版本。

答案 1 :(得分:0)

毕竟这似乎是一个已知问题(如果不是错误):troubleshooting-missing-artifact

我有类似的设置(Web项目A取决于jar项目B)所以我尝试重现,如上面链接中所述:

  

projectA和projectB。
  两个项目都使用Maven   projectA应该依赖于projectB   使用两个项目设置Eclipse工作区   右键单击projectA并转到“Maven ==>禁用工作区分辨率”
  清理/更新/重建项目   您收到“Missing Artifact”错误消息。

就我而言,这种情况并没有发生。仅当我然后转到我的本地存储库并手动删除包含我的项目的目录,然后执行maven更新。

我不知道它是否是eclipse版本,但我正在努力: 面向Web开发人员的Eclipse Java EE IDE。 开普勒服务版本2 构建ID:20140224-0627

答案 2 :(得分:0)

我不明白为什么zlinks会引用重现错误的指示,而不是实际解决方案(至少对我有用)。所以...

  

在存储库视图上(Window ==> View ==> Other ==> Maven   存储库)你应该专注于未经同步的存储库(我的是   然后右键单击并选择" reindex"

这样做了。

答案 3 :(得分:0)

我有同样的问题,通过关闭并打开项目B和C来解决这个问题。

  

右键单击项目B和C - > '关闭项目' - > maven更新项目   A - >打开项目B和C