spring boot打包war包及运行教程

spring boot打包war包及运行教程

1、maven来管理项目,执行命令

cd 项目跟目录(和pom.xml同级)

mvn clean package

或者执行下面的命令

排除测试代码后进行打包

mvn clean package  -Dmaven.test.skip=true

2、打包完成的jar包会生成到target目录下,命名规则如下

​ 项目名+版本号.java
​ 举例:qcdr-api-jt-1.0.0-SNAPSHOT.jar

3、用xshell执行jar包命令

​    java -jar qcdr-api-jt-1.0.0-SNAPSHOT.jar

这种方式,只要控制台关闭,服务就不能访问
下面是在后台运行的方式启动命令

 nohup java -jar qcdr-api-jt-1.0.0-SNAPSHOT.jar &

4、打成war包

​ 打成 war 包一般可以分两种方式来实现,
​ 第一种可以通过 eclipse 这种开发工具来导出 war 包,
​ 另外一种是使用命令来完成,这里主要介绍后一种
maven项目,修改pom包
<packaging>jar</packaging>改成<packaging>war</packaging>

然后排除tomcat

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

在这里将 scope 属性设置为 provided,
这样在最终形成的 WAR 中不会包含这个 JAR 包,
因为 Tomcat 或 Jetty 等服务器在运行时将会提供相关的 API 类

在这里将 scope 属性设置为 provided,
这样在最终形成的 WAR 中不会包含这个 JAR 包,
因为 Tomcat 或 Jetty 等服务器在运行时将会提供相关的 API 类

注册启动类

创建 ServletInitializer.java

继承 SpringBootServletInitializer ,
覆盖 configure(),把启动类 Application 注册进去。
外部 Web 应用服务器构建 Web Application Context 的时候,
会把启动类添加进去。

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

最后执行mvn clean package -Dmaven.test.skip=true
然后会自动生成:项目名+版本号.war文件,
拷贝到tomcat服务器就可以启动

5、如何重启

直接kill进程再次启动jar包

ps -ef|grep java
##拿到对于Java程序的pid
kill -9 pid

再次重启

Java -jar xxxx.jar

6、脚本执行

​ 如果是maven,需要以下配置

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>
如果使用是 gradle,需要包含下面配置
springBoot {
    executable = true
}

7、启动方式:

1)可以直接./yourapp.jar 来启动

2)注册为服务

也可以做一个软链接指向你的jar包并加入到init.d中,然后用命令来启动。

init.d 例子:

`ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp`
`chmod +x /etc/init.d/yourapp`

这样就可以使用stop或者是restart命令去管理你的应用。

/etc/init.d/yourapp start|stop|restart
或者

service yourapp start|stop|restart
到此 Spring Boot 项目如何测试、联调和打包投产均已经介绍完,
以后可以找时间研究一下 Spring Boot 的自动化运维,
以及 Spring Boot 和 Docker 相结合的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值