springboot 打包出来的 jar 包的名字是在哪儿决定的

Spring Boot 项目中,打包出来的 JAR 包名称主要由以下几个地方决定:

1. Maven 项目(pom.xml)

pom.xml 文件中,JAR 包名称主要由以下配置决定:

xml 复制代码
<project>
    <!-- 最终JAR包名称格式:${project.build.finalName}.jar -->
    
    <!-- 方式1:通过 finalName 直接指定 -->
    <build>
        <finalName>my-custom-app</finalName>
    </build>
    
    <!-- 方式2:通过 artifactId 和 version 组合 -->
    <artifactId>my-springboot-app</artifactId>
    <version>1.0.0</version>
    <!-- 默认JAR包名称:my-springboot-app-1.0.0.jar -->
</project>

2. Gradle 项目(build.gradle)

build.gradle 文件中:

gradle 复制代码
// 方式1:通过 archivesBaseName 设置
jar {
    archivesBaseName = 'my-custom-app'
}

// 方式2:通过 bootJar 配置(Spring Boot 专用)
bootJar {
    archiveFileName = "${archiveBaseName.get()}-${archiveVersion.get()}.jar"
}

// 方式3:在 gradle.properties 中设置
// archivesBaseName=my-app

3. Spring Boot Maven Plugin 配置

如果使用了 Spring Boot Maven Plugin,也可以在其中配置:

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <finalName>my-springboot-app</finalName>
            </configuration>
        </plugin>
    </plugins>
</build>

4. 默认命名规则

如果没有特殊配置,默认的命名规则是:

  • Maven : ${artifactId}-${version}.jar
  • Gradle : ${baseName}-${version}.jar

5. 查看和验证

打包后可以通过以下命令查看生成的 JAR 包信息:

bash 复制代码
# Maven
mvn clean package

# Gradle
gradle clean build

总结 :主要查看项目的 pom.xml(Maven)或 build.gradle(Gradle)文件中的相关配置,特别是 finalNameartifactIdversion 等配置项。

相关推荐
m0_5642641810 小时前
IDEA DEBUG调试时如何获取 MyBatis-Plus 动态拼接的 SQL?
java·数据库·spring boot·sql·mybatis·debug·mybatis-plus
熊小猿11 小时前
在 Spring Boot 项目中使用分页插件的两种常见方式
java·spring boot·后端
paopaokaka_luck11 小时前
基于SpringBoot+Vue的助农扶贫平台(AI问答、WebSocket实时聊天、快递物流API、协同过滤算法、Echarts图形化分析、分享链接到微博)
java·vue.js·spring boot·后端·websocket·spring
老华带你飞12 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
小蒜学长13 小时前
springboot酒店客房管理系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
橙子家13 小时前
Serilog 日志库简单实践(一):文件系统 Sinks(.net8)
后端
Yeats_Liao14 小时前
Go Web 编程快速入门 13 - 部署与运维:Docker容器化、Kubernetes编排与CI/CD
运维·前端·后端·golang
Yeats_Liao14 小时前
Go Web 编程快速入门 14 - 性能优化与最佳实践:Go应用性能分析、内存管理、并发编程最佳实践
前端·后端·性能优化·golang
七夜zippoe15 小时前
仓颉语言核心特性深度解析——现代编程范式的集大成者
开发语言·后端·鸿蒙·鸿蒙系统·仓颉