spring boot打包部署问题解决
来源:互联网 发布:数据分析发展前景 编辑:程序博客网 时间:2024/05/16 17:26
基于Maven打包部署spring boot项目,在网上大部分都是:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <mainClass>${start-class}</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
问题是打包后整个项目是jar,它所依赖的其它jar也会包含进去,导致整个项目很大,每次更新项目都得整个jar包更新,很麻烦。
那有没有一种方式是把项目依赖的jar单独出来?在部署更新项目时,只需要更新项目自身代码,不用更新依赖包。
项目jar包解压出来后的目录结构:
解决方法就是,在pom中改用以下配置:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <minimizeJar>true</minimizeJar> </configuration> </plugin>打包后得到的项目tboot.jar,拷贝lib出来,然后直接从jar中删除lib及目录下的依赖包
这样得到我们的业务代码,部署到Linux服务器上,lib依赖包单独存放:
启动项目的命令:java -Dloader.path="lib/" -jar tboot.jar
项目正常运行
另外附上后台后台启动的方式,已经编写好shell脚本startup.sh(该脚本文件跟项目tboot.jar放同一目录下):
#!/bin/sh #功能简介:启动上层目录下的jar文件 #参数简介: # $1:jar文件名(包含后缀名) # 注意:jar文件必须位于startup.sh目录的上一层目录。 #启动参数 JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true" jar_name=$1 this_dir="$( cd "$( dirname "$0" )" && pwd )" parent_dir=`dirname "${this_dir}"` log_dir="${parent_dir}/logs" log_file="${log_dir}/catalina.out" jar_file="${jar_name}" #依赖包目录(相对路径) lib_dir="lib/" #参数个数<1或者参数空值时,中断执行 if [ $# -lt 1 ] || [ -z $1 ]; then echo -e "\033[31m请输入要部署的jar包名称!\033[0m" exit 1 fi #日志文件夹不存在,则创建 if [ ! -d "${log_dir}" ]; then mkdir "${log_dir}" fi #父目录下jar文件存在 if [ -f "${jar_file}" ]; then #启动jar包;重定向标准错误输出到文件,丢掉标准输出 java $JAVA_OPTS -Dloader.path=${lib_dir} -jar ${jar_file} 1>/dev/null 2>"${log_file}" & exit 0 else echo -e "\033[31m${jar_file}文件不存在!\033[0m" exit 1 fi启动命令:
./startup.sh tboot.jar
阅读全文
0 0
- spring boot打包部署问题解决
- Spring Boot 打包部署
- Spring boot打包部署
- spring boot 打包部署发布
- spring boot 打包和部署
- Spring Boot (十):打包部署
- Spring boot-应用打包部署
- Spring boot(4)-应用打包部署
- spring boot 打包及部署方式
- Spring boot(4)-应用打包部署
- spring boot打包 部署 依赖 hc/info
- Spring Boot打包war jar 部署tomcat
- Spring boot打包war、jar部署tomcat
- 如何将Spring Boot项目打包部署到外部Tomca
- Eclipse新建Spring-boot项目,打包部署并输出HelloWord
- 转载:Spring Boot (十二):springboot如何测试打包部署
- (spring boot)maven 打包war 部署到tomcat
- 打包Spring Boot工程
- 普通架构转分布式架构带来的问题
- java的三种代理模式
- 比特币白皮书重点整理
- mysql workbench建表时的字段选项含义
- 前端问题及总结办法
- spring boot打包部署问题解决
- myeclipse svn插件的中英文切换
- 2017南宁网络赛B.Train Seats Reservation(初级扫描)
- 升级PHP7遇到的问题
- 模块importlib介绍
- 类成员函数的指针
- 从未停止进化的MaxCompute
- 关于ACTIVEX控件应用于对话框程序与单文档程序的区别
- 验证码输入框