我的项目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的存储库版本。
答案 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