用maven打包jar项目其中很多模块引用了相同jar包,如何把它些jar公用,让maven打包不把这公用包打进去

我的思路有两条
1,设置maven依赖本地公有jar
2,将公有的jar放到环境变量classpath中去
我试了以上两种方法,可能方法不对,未成功,请方法

注意scope标签,compile和runtime两种依赖打包时会打进去,provided、system、test都不会打进去。如果不想打包时将依赖包含进去,可以按实际情况选择后面的方式。

maven本身引用时,在没有打包前,这些jar都是存储在maven的repository里面给所有项目共享的,这也是maven的目标之一。如下图,请看jar包的路径。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-17
maven项目可以分为子父级项目,将公有的jar包用父级项目引用,其子级项目都不需要再重新引用了。
第2个回答  2014-01-23
在dependency中加exclusion
相似回答