我正在使用Eclipse(Indigo)中的maven项目。
为了编译一些需要被认可的库(webservices-api.jar)的类,我转到“属性/ Java构建路径/顺序和导出”并在“JRE系统库”之前移动“Maven Dependecies”。
问题在于,每当我点击“Maven / Update Project配置”选项时,条目都会重新排列,“JRE系统库”始终是第一个条目,代码不再编译。
有没有办法让M2E记住我的选择并停止重新排列库?
提前致谢
答案 0 :(得分:1)
我理解 webservices-api.jar 会覆盖标准JRE中的某些类,对吗?
我看到的唯一方法是将jar移至JRE\lib\ext
并在Maven中将此依赖项标记为system
。这不是一个好的解决方案,因为Maven会停止将这个神器包装到你的目标中,你有责任处理它。这有机会工作 - 但请注意我没有尝试过,所以我不确定你是否设法正确覆盖你的JRE库。
对于m2e,它接管了对Eclipse项目设置的控制,因此只要不更新配置,手动调整就很好。
答案 1 :(得分:1)
我最终实现的解决方案是让一个ant目标在.classpath文件中替换以交换类路径容器。我在我的项目中添加了一个ant构建器来调用该目标,然后在java编译器之前刷新项目。有点复杂,但它就像一个魅力。