SpringBoot 项目开发完毕后,支持两种方式部署到服务器

  1. jar 包 (官方推荐)
  2. war 包

# jar

创建一个 SpringBoot 工程

image-20230914111656588

创建 UserController 类返回一个访问成功的提示信息

image-20230914111738022

测试访问是否有问题:

image-20230914111756919

没有问题后 进行 打包

image-20230914111821221

查看打包后的目录,复制路径然后打开资源管理器地址栏中输入复制的路径访问

image-20230914111923603

就可以看到打包成功后的 jar 包了

image-20230914111940320

在当前的目录中打开 powerShell 然后输入命令: java -jar .\springboot-deploy-0.0.1-SNAPSHOT.jar

image-20230914112256831

然后访问路径

image-20230914112318734

# war

将项目的打包方式改为 war 包的方式

image-20230914112549411

编写 SpringBoot 的启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class SpringbootDeployApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootDeployApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringbootDeployApplication.class);
    }
}

点击 maven 的打包按钮进行打包为 war 包

image-20230914113123574

打包完成后查看目录的打包情况

image-20230914113223976

image-20230914113337947

将 springboot 的 war 包放入到 tomcat 的 webapps 目录下

image-20230914115152845

启动 tomcat

bin\startup.bat 双击运行

image-20230914115310123

当我们再次访问 localhost:8080/user/findAll 时就会报 404 的,因为此时的虚拟目标发生了变化了。

image-20230914115525516

虚拟目录为 springboot-deploy-0.0.1-SNAPSHOT

image-20230914115541682

访问 localhost:8080/springboot-deploy-0.0.1-SNAPSHOT/user/findAll

image-20230914115638227

还有第二个问题就是,更改端口号在项目中的 resource 中修改不起作用,因为这里对 SpringBoot 内置的 tomcat 的端口号的修改,而我们启动 SpringBoot 项目使用的是我们自己下载的外部的 tomcat,需要在外部的 tomcat 中进行配置才行。