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 等配置项。

相关推荐
H5css�海秀12 小时前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
SuniaWang12 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
韩立学长12 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
sheji341612 小时前
【开题答辩全过程】以 基于springboot的扶贫系统为例,包含答辩的问题和答案
java·spring boot·后端
代码栈上的思考13 小时前
消息队列:内存与磁盘数据中心设计与实现
后端·spring
程序员小假14 小时前
我们来说一下 b+ 树与 b 树的区别
java·后端
Meepo_haha14 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
sheji341614 小时前
【开题答辩全过程】以 基于springboot的房屋租赁系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Victor35615 小时前
MongoDB(57)如何优化MongoDB的查询性能?
后端
Victor35615 小时前
MongoDB(58)如何使用索引优化查询?
后端