SpringBoot】Spring Boot 项目的打包配置
Spring Boot 项目的打包配置
修改 pom.xml 文件
在 Spring Boot 项目中,打包方式通常通过 Maven 或 Gradle 配置。以下是 Maven 的配置示例:
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.0.0</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>
确保 packaging 标签设置为 jar 或 war,默认为 jar:
<packaging>jar</packaging>
构建可执行 JAR
运行以下 Maven 命令生成可执行的 JAR 文件:
mvn clean package
生成的 JAR 文件默认位于 target 目录下,文件名为 {artifactId}-{version}.jar。
构建 WAR 部署包
如需构建 WAR 文件,需修改 pom.xml:
<packaging>war</packaging>
同时确保主类继承 SpringBootServletInitializer:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);}public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
运行打包命令后,WAR 文件同样位于 target 目录。
排除依赖项
如需排除某些依赖项(如 Tomcat,以支持外部容器),可在 pom.xml 中添加:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope>
</dependency>
自定义打包名称
在 pom.xml 的 build 部分可指定输出文件名:
<finalName>custom-name</finalName>
多环境打包配置
结合 profiles 实现不同环境配置:
<profiles><profile><id>dev</id><properties><activatedProperties>dev</activatedProperties></properties></profile><profile><id>prod</id><properties><activatedProperties>prod</activatedProperties></properties></profile>
</profiles>
打包时通过 -P 参数指定环境:
mvn package -Pprod
使用 Gradle 打包
若使用 Gradle,在 build.gradle 中配置:
plugins {id 'org.springframework.boot' version '3.0.0'id 'io.spring.dependency-management' version '1.1.0'
}jar {archiveFileName = 'custom-name.jar'
}bootJar {mainClass = 'com.example.Application'
}
运行以下命令生成 JAR:
gradle bootJar
WAR 打包需应用 war 插件并配置:
apply plugin: 'war'war {archiveFileName = 'custom-name.war'
}
打包时包含依赖项
确保构建工具(Maven/Gradle)已正确配置依赖管理,默认情况下 Spring Boot 插件会自动处理依赖项的打包。
通过以上配置,可根据需求生成适合部署的 JAR 或 WAR 文件。
