java如何在jar中重新定位gradle依赖项的包
目前我正在使用一个包调用a.jar
。不幸的是,这个jar包含一个com.example.b
包,其中对com.example.b
内的代码库进行了一些定制更改
现在,我想从github的b.jar
中的com.example.b
包中获得一些最新的酷特性
我认为最好的解决方案(不确定如何实现)是将最新的com.example.b
重新定位到com.example.standalone.b
,这样a.jar
仍然可以使用其定制的com.exampl.b
源代码,而在项目内部我可以使用com.example.standalone.b
包
我对shadow
插件进行了研究,但它似乎是在全局范围内按包名重命名包的,因此两个JAR(a.jar
和b.jar
)中的包(com.example.b
)也会被重命名并发生冲突
我可以知道如何对特定的jar执行此操作吗,如下面的示例
implementation a.jar:1.0
implementation (b.jar:2.0) {
rename 'com.example.b' to 'com.example.standalone.b'
}
# 1 楼答案
最后,我在goovy gradle中通过以下配置解决了这个问题