page contents

springboot打jar包全部是外部jar的情况

Pack 发布于 2020-02-27 16:11
阅读 664
收藏 0
分类:Java开发

背景:新公司同事给了我一个整合的老项目 用的框架是springboot maven mybatis,还引入了一部分公司内的maven库,外加一部分阿里maven库。

因为公司仓库有问题很多jar包都下载不下来,最后为了运行起来把300多个包从他的项目理导出来,复制给我,现在成了本地maven项目,引入的全部是外部jar。

问题1:现在想要打jar包,在Linux服务器上通过java -jar xxx.jar 运行,哪位知道怎么打出这个jar,并且把所有的外部jar都打进去。

问题2:基于上面这种情况,怎么解决这尴尬的环境和框架

470
Pack
Pack

可以使用的是maven-assembly-plugin,它用途是制作项目分发包,该分发包可能包含了项目的可执行文件、源代码、readme、平台脚本等等。 maven-assembly-plugin)支持各种主流的格式如zip、tar.gz、jar和war等,具体打包哪些文件是高度可控的,例如用户可以按文件级别的粒度、文件集级别的粒度、模块级别的粒度、以及依赖级别的粒度控制打包,此外,包含和排除配置也是支持的。maven-assembly-plugin可以使用assembly.xml文件做定制。当然还有其他的插件,可自行查阅官方插件中心https://maven.apache.org/plugins/index.html

使用方式如:



<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.bdr.client.JettyClient</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
请先 登录 后评论