idea中java springboot项目打包jar、war
此两种打包方式为本人在学习java web过程中所记录,无法保证适用于所有人的情况。另,本文测试项目代码来自B站教程《新手一节课入门spring boot,手把手教你写java web和接口》
一、打包为jar包
jar包是默认的打包方式,一般都采用的是1.8版本的java jdk,只要服务器上也有该java环境,不需要额外安装tomcat也可以运行。运行命令为 “java -jar jar文件的路径”
java -jar /Users/amin/Desktop/test5/target/demo-0.0.1-SNAPSHOT.jar
在打包的时候选择了clean compile package 三个maven命令进行打包。
打包后会在日志中输出打包文件所在的路径。
下面的执行命令会把日志文件输出到指定的文件,并且进程会在后台运行,如果不加nohup命令则关闭终端窗口就会结束进程。
nohup java -jar jar文件路径 >temp.txt &
二、打包为war包
1、修改启动Application文件继承SpringBootServletInitializer,重写configure方法
public class DemoApplication extends SpringBootServletInitializer {
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){ return builder.sources(DemoApplication.class); }
2、修改pom.xml
增加一行代码
<packaging>war</packaging>
3、打包war包
4、上传并适用war包
原来的war包名字太长可以重命名后上传到服务器tomcat的webapps目录下。上传完毕后重启下tomcat会解压war包。
如果是用war包的方式发布,则访问端口有服务器上tomcat的使用端口为准,在idea里面配置的server port是不生效的。因为我的war包解压后创建的与war包同名文件路径为snapshot,所以访问url的时候也记得加上该路径。
如果遇到war包不会自动加载解压,请确保tomcat有操作改war包的权限,我因为使用的是宝塔,但是是通过ssh的admin用户上传的war包,导致权限不对tamcat无法解压。后来将war包权限所有者改成777/www就可以了。
如果war包不会自动解压也有可能是tomcat的server.xml里面的配置不对(默认unpackWARs是true)
其他参考资料:
https://blog.csdn.net/qq_22638399/article/details/81506448
https://blog.csdn.net/qq_34491508/article/details/91490434
https://baijiahao.baidu.com/s?id=1624279413036115913
基于互联网精神,在注明出处的前提下本站文章可自由转载!
本文链接:https://ranjuan.cn/idea-java-springboot-jar-war-package/
微信赞赏支付宝赞赏
发表评论