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

相关推荐
追逐时光者21 分钟前
分享 4 款基于 C# 编写、实用、开源的 Visual Studio 扩展插件
后端·.net·visual studio
皮皮林5511 小时前
手动实现 Spring Boot 日志链路追踪,无需引入组件,日志定位更方便!
spring boot
vx_bisheyuange1 小时前
基于SpringBoot的社区养老服务系统
java·spring boot·后端·毕业设计
sheji34161 小时前
【开题答辩全过程】以 基于Springboot的超市仓库管理系统设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
武藤一雄2 小时前
C# 语法糖详解
后端·microsoft·c#·.net
qq_12498707532 小时前
基于SpringBoot学生学习历史的选课推荐系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·学习·毕业设计·毕设
武藤一雄3 小时前
C#:进程/线程/多线程/AppDomain详解
后端·微软·c#·asp.net·.net·wpf·.netcore
华仔啊3 小时前
RabbitMQ 如何保证消息不丢失和不重复消费?掌握这 4 个关键点就够了
java·后端·rabbitmq
学历真的很重要3 小时前
PyTorch 机器学习工作流程基础 - 完整教程
人工智能·pytorch·后端·python·深度学习·机器学习·面试
执笔诉情殇〆4 小时前
使用AES加密方法,对Springboot+Vue项目进行前后端数据加密
vue.js·spring boot·后端