Spring Boot项目的两种发布方式

一、通过jar包发布

1、在pom中添加一个SpringBoot的构建的插件

复制代码
 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <!--自动检测项目中的 main 函数-->
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

在maven视图中,选择"package",在target中会产生xxx.jar包

然后在cmd终端发布项目java -jar xxx.jar

二、通过war包发布

1、在pom.xml文件中将jar修改为war

复制代码
<packaging>war</packaging>

2、设置tomcat启动器依赖范围

复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!--tomcat启动器依赖范围-->
            <scope>provided</scope>
        </dependency>

3、设置war包的名字(想设置可以设置,不想设置可以不设置)

复制代码
 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>hello</warName>
                </configuration>
            </plugin>

修改启动类

复制代码
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 Application extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
相关推荐
树獭叔叔23 分钟前
文本Embedding模型演进:从Encoder-only到LLM-based的技术变革
后端·aigc·openai
游离态指针28 分钟前
首字节响应 0ms?我用 1000 行代码驯服了 Spring AI Agent 的“不确定性”
后端
、BeYourself1 小时前
Scala 字面量
开发语言·后端·scala
zdl6861 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
程序员buddha1 小时前
Java面试八股文高级篇
java·jvm·面试
Memory_荒年1 小时前
Gateway:微服务前台的“瑞士军刀”小姐姐
后端
yc_xym1 小时前
SpringAI快速入门
java·springai·deepseek
希望永不加班1 小时前
SpringBoot 内置服务器(Tomcat/Jetty/Undertow)切换
服务器·spring boot·后端·tomcat·jetty
Sammyyyyy1 小时前
9个Python库把一个月的AI开发周期缩短到了3天
人工智能·后端·python·servbay