Eclipse M2E /更改订单和导出

时间:2011-10-18 16:09:28

标签: java eclipse maven m2eclipse m2e

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

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

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

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

提前致谢

2 个答案:

答案 0 :(得分:1)

我理解 webservices-api.jar 会覆盖标准JRE中的某些类,对吗?

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

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

答案 1 :(得分:1)

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