SpringBoot项目部署服务器上线(war包)

传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问!

1、将打包方式换成war,默认是jar,需要修改一下

2、移除tomcat依赖或者将springboot自带的tomcat依赖scope改为provided

复制代码
//移除tomcat依赖

<dependency>

  <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <!-- 移除嵌入式tomcat插件 -->

    <exclusions>

      <exclusion>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-tomcat</artifactId>

      </exclusion>

    </exclusions>

</dependency>

//或者

<dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-tomcat</artifactId>

  <scope>provided</scope>

</dependency>
复制代码

 provided就是排除的意思。

3、启动类继承SpringBootServletInitializer实现configure方法:

复制代码
 1 @SpringBootApplication
 2 public class Application extends SpringBootServletInitializer {
 3 
 4     public static void main(String[] args) {
 5         SpringApplication.run(Application.class, args);
 6     }
 7 
 8     @Override
 9     protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
10         return builder.sources(Application.class);
11     }
12 }
复制代码

4、使用外部Tomcat部署访问的时候,application.properties(或者application.yml)中配置的

server.port=

server.servlet.context-path=

将失效,请使用tomcat的端口,tomcat,webapps下项目名进行访问。

为了防止应用上下文所导致的项目访问资源加载不到的问题,建议pom.xml文件中<build></build>标签下添加<finalName></finalName>标签:

复制代码
 1 <build>
 2     <!-- 应与application.properties(或application.yml)中context-path保持一致 -->
 3     <finalName>war包名称</finalName>
 4     <plugins>
 5         <plugin>
 6             <groupId>org.springframework.boot</groupId>
 7             <artifactId>spring-boot-maven-plugin</artifactId>
 8         </plugin>
 9     </plugins>
10 </build>
复制代码

5、clean----package 打成war包

将项目打成war包,部署到服务器的tomcat中,放到tomcat下的webapps包里面。

然后cd到tomcat的bin目录下,启动startup.bat即可。

若要替换代码,先终止之前运行的项目,ps -ef | grep 对应的jar包

如果替换前端的js或者html文件,可以直接到服务器上对应的文件夹将具体文件替换就行,不需要重启服务。

如果是替换java代码,简单的也可以直接去服务器上替换对应的class文件,但需要重启服务。

备份可以用cp a1 a2

然后启动startup.bat即可。

posted @   巴啦啦小花总  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示