在Eclipse中的Java项目中,我正在尝试调试项目A。
项目A
依赖于B.jar
,通常B.jar
来自我的.m2/repository
。
但现在我想对B
的代码进行一些临时更改,并将其反射(reflect)在A
中,
所以我直接在eclipse中的B
项目中编辑源代码,并在B
的构建路径中将A
设置为依赖项项目。此外,A
和B
都将C.jar
称为依赖项。
这样可以很好地构建A
,但是在运行时,A
的classpath
包含C.jar
中所有类和资源的2个副本。这为hbm.xml
中的那些 hibernate C.jar
映射文件创建了一个问题,并且我收到了说duplicate mapping for...
的错误消息
这似乎是 eclipse 的缺陷,因为它缺乏行家所具有的分辨能力。有办法解决这个问题吗? (除了构建B并安装到.m2,而不是将其作为依赖项目)
谢谢
最佳答案
您提到“[将B设置为A的构建路径中的依赖项目]”-您的意思是编辑Eclipse的构建路径或编辑项目的POM?我猜是前者,在这种情况下,请确保您已安装最新版本的m2eclipse插件,并且A
和B
这两个项目都是Maven eclipse项目。如果设置正确,则您的项目的项目图标上应带有“M”,并且任何工作区依赖项的图标都应类似于文件夹。
关于eclipse - Eclipse无法解决传递依赖项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10078037/