编译Sonatype Nexus源代码出现“无法确定 <R>R 的类型参数”错误的解决

之前文章介绍了如何编译Sonatype Nexus源代码,当时的最新版本还是2.3.1,但是这几天更新了2.3.2以及2.4.x以后,发现编译源代码时,nexus-client-core模块竟然报错:

[ERROR] /D:/Workspaces/nexus0320/nexus/nexus/nexus-client-core/src/main/java/org/sonatype/nexus/client/internal/rest/jersey/subsystem/repository/Jerse
yRepositories.java:[87,35] D:\Workspaces\nexus0320\nexus\nexus\nexus-client-core\src\main\java\org\sonatype\nexus\client\internal\rest\jersey\subsyste
m\repository\JerseyRepositories.java:87: 无法确定 <R>R 的类型参数;对于上限为 R,org.sonatype.nexus.client.core.subsystem.repository.Repository 的类型
变量 R,不存在唯一最大实例

具体错误见下图:


其实这里错误很简单,就是泛型没指定返回类型,解决方法也不难,按照错误提示,找到报错的JerseyRepositories.java文件,修改72行与87行的return convert(...)return (R)convert(...),保存并重新编译即可。


注意:经我测试,这个错误其实并不影响最后结果的使用,我猜是以前编译成功的jar已经在本地库有备份(因为install命令会上传本地库),编译失败就会直接读取本地库的旧jar。但是如果编译错误,将会导致不能正常正常调试源代码,所以想debug的同学还是要解决一下这个错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值