6

如果我在 Eclipse 中有一个简单的 maven webapp 项目,它依赖于我的工作区中的另一个 maven 项目,我会收到错误消息...

无法复制工件 [group:artifact:jar:version:compile] 的文件 (org.apache.maven.plugins:maven-war-plugin:2.3:exploded:make-war-exploded:compile) pom.xml /Project line xx Maven 构建问题

它在网上提到了几个地方(在 maven 团队之间就损坏的部分、如何修复它等进行了辩论)——我发现唯一的解决方法是“禁用工作区分辨率”。嗯,好的,但这就是为什么我在我的工作区中拥有该项目的原因 - 因此可以对其进行编辑并且无需每次都安装即可获取更改。

我们最近刚刚转换为使用 maven,所以我没有太多经验 - 不知何故,我们的 SVN 中有一些项目即使使用相同的配置也不会出现该错误(它们是由不在这里的顾问创建的不再)。我不知道有什么区别——我使用了几乎相同的 pom,尝试了不同版本的 eclipse/war 插件,添加了构建助手/wtp 集成,以不同的方式创建项目,比较了 eclipse 配置文件等。我能想到的唯一区别是那些已部署,而我不在家里这样做。

我只是希望该错误消失(不禁用工作区分辨率),因此我不必忽略所有错误或在每次运行时都得到一个对话框来确认继续。这可能是我错过/不知道的简单事情。

4

3 回答 3

9

这可能是 m2eclipse 插件的问题。要解决此问题:

打开项目->属性->Maven。取消选中“解决工作区项目中的依赖项”,这解决了 m2eclipse 中的 war 插件问题。

于 2014-02-12T22:06:34.920 回答
4

看起来另一种可能的解决方法是(暂时?)将依赖项标记为具有“提供”范围。或者忽略 maven-war-plugin 执行(现在似乎是 m2e-wtp 生命周期映射元数据中的默认设置) - 这似乎再次违背了在 eclipse 中使用它来自动更新事物的目的。

令我惊讶的是,似乎没有其他人在使用 eclipse 时遇到这种情况(或者禁用工作区分辨率或忽略执行对于那些人来说似乎是可以接受的)。

于 2012-12-26T14:47:48.803 回答
3

我遇到了同样的问题,并找到了一个“修复”,可以让一切顺利完成。我关闭了 Eclipse 工作区中的所有其他项目。我相信当项目打开时,Eclipse 可能对文件有一些锁定?

于 2015-06-23T18:52:33.467 回答