Maven自动管理Jar包 - Eclipse中会优先关联到相同的project而不是指定的jar包

在使用Maven管理依赖时,遇到Eclipse中引用相同项目的类而非实际所需Jar包的情况,通过关闭重复项目解决了依赖冲突导致的Exception问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家都知道,从Maven2 开始,Maven可以自动管理Java应用所引用的开发包 (Jar包),即官方所说的transitive dependency (可传递的依赖管理),也就是说Java应用只需要定义其直接引用的Jar包依赖,而无需定义Java应用所引用的所有Jar 依赖。Maven 2可以自动添加Java应用直接引用库所依赖的其它Jar包。

 

但是今天在开发项目时,在Eclipse中执行Unit Test或者Main方法时碰到了一个怪异的Exception:Porject XXX is missing required Java project YYY. 如下图。



 

这让我 感觉到很奇怪,因为我在tools-cms-client这个project中引入的是一个叫cms-java-typesafe-api的jar包,而不是引入这个project,如下pom定义:



 

后来我才记得我在相同的workspace中有一个project名字就叫cms-java-typesafe-api(该project和cms-java-typesafe-api.jar有相同的三维:groupId, artifactId, version),在Eclipse中如果不关闭该project,eclipse会显示的引入该project中的类,而不是cms-java-typesafe-api.jar中的类。然后显然要做的事情就是把cms-java-typesafe-api project关闭。但是虽然把该项目关闭了,在Eclipse中运行的时候,他还会优先的引用该project中的类,而此时该project又关闭了,所以在Eclipse中就出现了上面的Exception:Porject XXX is missing required Java project YYY

 

 

最好的解决办法就是换一个workspace,不要在有这个project:cms-java-typesafe-api的workspace 中的另一个project中引入一个名叫cms-java-typesafe-api.jar 的jar包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值