4

我正在使用 Eclipse (Indigo) 中的 Maven 项目。

为了编译一些需要认可库的类(webservices-api.jar),我转到“属性/Java 构建路径/顺序和导出”并将“Maven 依赖项”移动到“JRE 系统库”之前。

问题是,每当我单击“Maven/更新项目配置”选项时,条目都会重新排列,“JRE 系统库”始终是第一个条目,并且代码不再编译。

有没有办法让 M2E 记住我的选择并停止重新排列库?

提前致谢

4

2 回答 2

1

我最终实现的解决方案是让 ant 目标在 .classpath 文件中进行替换以交换类路径容器。我在调用该目标的项目中添加了一个 ant 构建器,然后在 java 编译器之前刷新项目。有点复杂,但它就像一个魅力。

于 2011-10-19T13:40:24.860 回答
1

我知道webservices-api.jar覆盖了标准 JRE 中的一些类,对吧?

我看到的唯一方法是将 jar 移动到JRE\lib\extMaven 中并将此依赖项标记为system. 这不是一个好的解决方案,因为 Maven 将停止将此工件打包到您的目标中,而您有责任处理它。这有机会工作 - 但请注意我没有尝试过,所以我不确定你是否设法正确覆盖你的 JRE 库。

至于 m2e,它接管了您的 Eclipse 项目设置的控制权,因此只要您不更新配置,手动调整就很好。

于 2011-10-18T17:37:52.057 回答