升级到m2eclipse 0.9.7版本后,发现一个问题,maven Assembly plugin无法工作,具体是在eclipse下执行"run as" --> "maven package"时,报错:
(我在pom.xml中重定义了package的行为,会执行maven-assembly-plugin插件)
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to create assembly: Error adding file
'
net.runafter.nptt:NpttCore:jar:0.1.0
'
to archive:
G:\workspace\
private
\tools\nptt\trunk\NpttCore\target\classes isn
'
t a file.
如果在windows命令行下直接执行mvn package,绕过eclipse和m2eclipse,就可以成功。
window -> preferences -> maven, 勾选"Debug output" 打开maven的debug开关,细看错误日志:
可以看到,maven Assembly plugin试图以操作文件的方式操作目录NpttCore\target\classes,因此失败造成整个package命令执行失败。
查了好一段时间,没有结果,因为之前一直都是ok的,而且在命令行下可以正常,有些糊涂。最后没有办法了,只好google,终于有所收获,同样的问题之前有人遇到过:
http://jira.codehaus.org/browse/MNGECLIPSE-1201
而且给maven的官方提过comments:
http://jira.codehaus.org/browse/MASSEMBLY-396
似乎maven的维护人员给出了答案:
This is related to workspace resolution feature
that is enabled automatically if project has workspace resolution enabled. You can disable it in the Maven launch configuration.
The workspace resolution is not a new feature, you can read about it at [1]. In 0.9.7 defaults for the Maven launch configuration been changed to pickup setting for workspace dependency resolution from the project settings, so defaults for compile-time dependency resolution match Maven launch dependency resolution. Unfortunately not all Maven plugins can properly work when workspace dependency resolution is enabled, so I would recommend to submit bug reports to the Maven projects for such plugins.
The m2eclipse allows to disable workspace resolution for compile time and for Maven launch config separately, so you have some flexibility.
简单的说就是和workspace resolution这个特性有关,In 0.9.7默认的maven的启动配置已经被修改为“pickup setting for workspace dependency resolution from the project settings”,而不是所有的maven插件都可以在workspace dependency resolution开启的情况下工作。比如这次maven Assembly plugin就犯错了,可以通过在maven的启动配置中关闭这个特性来解决这个问题。
解决的方法很简单,右键单击要执行package的project,"properties for ***" -> maven,将"resolve dependencies from workspace projects"前的勾取消。
重新执行maven package成功,问题解决。
分享到:
相关推荐
maven-t7-plugin-0.9.7.jar
maven-easyb-plugin-0.9.7.jar
maven-t7-plugin-0.9.7-sources.jar
maven-t7-plugin-0.9.7.m1.jar
maven-easyb-plugin-0.9.7-sources.jar
maven-easyb-plugin-0.9.7-1.jar
maven-t7-plugin-0.9.7.m1-sources.jar
maven-easyb-plugin-0.9.7-1-sources.jar
然而,对于某些特定场景,比如复现旧环境下的问题或者测试兼容性,这个版本仍有其价值。 总之,OpenSSL 0.9.7 是一个基础且重要的安全工具,即使在当前版本不断迭代的背景下,理解它的使用和功能对于维护和开发涉及...
根据描述,用户在尝试安装ADT插件时遇到了错误提示,并且尝试了多个版本的Eclipse和ADT插件,最终通过选择合适的版本组合解决了问题。此解决方案并不依赖于更新插件或复杂的配置调整,而是侧重于正确选择软件版本来...
OpenSSL 0.9.7 版本是该库的一个较早版本,尽管现在可能已经过时,但在当时它为开发者和系统管理员提供了实现安全网络通信的基础。 OpenSSL 的主要功能包括: 1. 加密算法支持:OpenSSL 支持多种加密算法,如RSA、...
4. **问题解决**:如果遇到游戏运行不顺畅、画面异常或声音丢失等问题,可查阅Desmume的官方文档或在线社区,寻找解决方案。 总的来说,Desmume 0.9.7是一个强大且易用的NDS模拟器,为玩家提供了在PC上享受NDS游戏...
"9.7"可能是指Eclipse IDE的版本号,因为ADT通常与特定版本的Eclipse一同工作,提供对Android SDK的支持。 标签"adt_0.9.7_ android"进一步强调了这是关于ADT的0.9.7版本,以及它与Android平台的关联。 在压缩包子...
8. **错误修复和改进**:每个版本的更新通常会包含一些错误修复和性能优化,0.9.7版本可能解决了前一版本中的一些已知问题。 9. **兼容性**:cmdftp可能支持多种操作系统,如Windows、Linux和macOS,确保在这些平台...
"GLPI-dashboard_plugin-0.9.7_dirsearch_" 的标题可能指的是一个针对GLPI的插件,该插件专注于提供自定义仪表板功能,并且版本号为0.9.7。"gmpi patched source code" 描述暗示这个下载可能包含了经过修改的源代码...
eclipse 开发插件 ADT-0.9.7 下载 已经打好包,配置好路径,下载后解开压缩将 两个文件夹放在 Eclipse 根目录即可. 附带2个插件: 1.Android ADT 0.9.7 Eclipse 插件版 2.Easyexplore 快速定位文件在磁盘上位置的.很爽...
- **更新警告**:描述中提到不要随便更新Eclipse,因为不同版本的ADT可能与特定版本的Eclipse兼容性最佳,频繁更新可能导致问题。 **3. 压缩包内容解析** - `index.html`:通常是文档的首页,可能包含关于ADT ...
"ADT-0.9.7.zip"是一个用于Android开发工具包(Android Development Toolkit)的更新版本,它在"ADT-0.9.6.zip"的基础上进行了改进和增强。这个压缩包包含了开发者进行Android应用开发所必需的各种组件,旨在提高...
**Redis Desktop Manager 0.9.7 for Mac** Redis Desktop Manager是一款专为Mac用户设计的图形化界面工具,用于管理和操作Redis数据库。Redis是高性能的内存数据存储系统,常被用作数据库、缓存和消息中间件。这款...
【标题】"gradle-tomcat-plugin-0.9.7.zip" 提供的是Gradle与Tomcat服务器集成的插件,版本号为0.9.7。Gradle是一个流行的构建自动化工具,它允许开发者使用一种简洁、声明式的语法来管理项目的构建过程。而Tomcat则...