使用分离打包的原因
jeecgboot单体应用,引入太多jar包,打包的jar包太大了,得300M左右,每次更新后上传云服务器有点费劲。改造分离打包:将依赖的jar包和实际开发的class文件分开,大部分时候只需要上传class文件,提高发包效率。
1、配置pom
jeecg分离式打包文档连接:https://help.jeecg.com/java/publish/jarlib.html。参考该文档即可实现分离式打包及部署文件。注意文档最后,要将config中的配置上传。
jeecg文档提供的配置,打包后没有lib和config,发包的时候不方便找jar包,这个配置可以直接在target包下生成lib和config,更方便:https://www.cnblogs.com/lengho123/p/17362644.html 。配置过程中无需指定插件版本,也可正常使用
2、打包、发包
正常使用maven打包即可,打包后需要用到的文件 lib、config、jeecg-system-start-x.x.x.jar
发包:
1、第一次发包需要将lib、config、jeecg-system-start-x.x.x.jar上传
2、后续发包只需要上传新增的依赖、修改过的模块、修改过的配置文件。依赖、模块的jar包都在lib包中。配置文件在config目录中
举个栗子:代码只修改了core模块中的代码,只需要上传jeecg-boot-base-core-x.x.x.jar 即可。不确定的话,就把jeecg开头的都上传。
3、修改启动命令
分离打包后,需要修改启动命令,指定依赖的jar包的路径(lib的目录),在原来的启动命令中间加上: -Dloader.path=/usr/local/project/lib ,根据实际发包路径修改。
举个栗子:
java -Dloader.path=/usr/local/project/lib -jar /usr/local/project/jeecg-system-start-3.5.0.jar
启动报错说明
添加加了新依赖,但是没有上传对应jar包时,会无法启动,可以根据报错信息检查缺少的jar包,上传后即可正常启动
举个栗子:
程序里新加了easyexcel的依赖,但是没有上传到lib中,导致程序无法加载controller类。在本地目录找到对应jar包上传,就能重新启动了。