maven解决包冲突有哪些方法?

我有一个工程myproject-public,要打成jar包给其他项目共用。
myproject-public引用了JAR包:A

有其他项目组工程otherproject引用我的myproject-public包,但是也引用了A包。

为了避免冲突,常规做法是,otherproject引用我的myproject-public包时,将A包排除。

但是有没有其他办法?

比如我myproject-public引用A的时候,配置一下scope,然后otherproject引用我的myproject-public包时也,配置一下scope。能达到这样的效果:

otherproject不用排除A,就能正确的编译、打包、运行?

我想达到这样的效果:
1、myproject-public打包的时候把A排除
2、otherproject引用myproject-public,但是没有引用A的时候,编译期报错。
3、otherproject引用myproject-public,引用了A,otherprojectmyproject-public均使用这个A版本。

以上,求大神指教,能做到吗?

阅读 1.9k
1 个回答

myproject-public配置scope provider,是不是能满足你的要求?

A包由使用者提供

provider和optional说明参考:https://segmentfault.com/a/11...

推荐问题
宣传栏