请选择 进入手机版 | 继续访问电脑版

maven打全量包-使用scope排除不需要打包的依赖

[复制链接]
黎平 发表于 2020-12-31 20:24:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

  • 问题配景
生产情况缺少一些依赖,导致步调无法运行,打全量包耗时而且有jar包辩说的风险,需要一种方法只把生产情况缺少的依赖打进去,生产情况有的依赖就不打进去(需要清除)


  • 解决方案
使用maven全量包插件和依赖的作用域(scope)属性可以实现指定依赖打进jar包
maven全量包插件设置如下:
  1.                                     org.apache.maven.plugins                maven-compiler-plugin                                    8                    8                                                        maven-assembly-plugin                                                            jar-with-dependencies                                                                                                make-assembly                        package                                                    single                                                                                   
复制代码
使用上面的maven全量包插件打包会把依赖的所有包都打进去,这时候不需要打包的依赖可以将scope属性设置成provided,如下图所示:
  1.      org.apache.flink     flink-streaming-java_2.11     ${flink.version}     provided
复制代码
这样打包完后会产生两个jar包,一大一小,大的就是包罗依赖的,小的就不包罗任何依赖,如下图:

 
IDEA中,如果依赖的scope值设置为了provided,当地运行可能会报错找不到类,这时可以看看此处是否勾选上了:


来源:https://blog.csdn.net/MH_Tan/article/details/111888287
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )