使用maven构建spring boot项目,且使用maven插件打包不包含依赖的瘦身jar包
标准pom
1 | <?xml version="1.0" encoding="UTF-8"?> |
maven打包
执行 mvn clean package -Pprofile
依次执行:
maven-clean-plugin:3.0.0:clean
删除target目录和本地logs目录
maven-resources-plugin:3.0.2:resources
拷贝src/main/resources下的资源文件到target/classes目录下
maven-compiler-plugin:3.7.0:compile
编译src/main/java 类文件到target/classes目录下
maven-jar-plugin:3.1.0:jar
构建thin jar包到target目录下
maven-dependency-plugin:3.0.1:copy-dependencies
拷贝依赖jar包到release/lib目录下
maven-resources-plugin:3.0.2:copy-resources
拷贝自定义资源文件到release目录下
打包后的项目和相关资源文件依赖jar包都放在release目录下:
发布
rysnc脚本:其中test_env是在~/.ssh/config下定义的机器别名
1 | touch ./release/application.pid |
此时,release目录包含了要运行的java程序的所有组件,将此目录压缩成zip包,使用rsync脚本上传到相应的服务器,启动即可。
根据需求可将release目录下的文件分开上传,例如lib目录下的依赖jar包没有更新就不需要每次重复校验上传了。