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...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏