springboot项目用maven打包生成的.jar.original是什么?

本文解释了SpringBoot项目使用Maven打包时,为何会同时生成.jar和.jar.original两个文件。.jar.original是不含依赖的原始jar,而.jar是包含所有依赖的可执行jar,适用于直接部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题】

springboot项目用maven打包,为什么在生成jar包的同时还生产.original文件?

#【答案】

官方文档:
https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-first-application
在这里插入图片描述
翻译:您还应该在target目录中看到一个更小的文件xxx-0.0.1-SNAPSHOT.jar.original。这是Maven在Spring Boot重新打包之前创建的原始jar文件。(只包含少量用户的类,不包含依赖
在这里插入图片描述
.jar.original 是普通jar包,不包含依赖
.jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
如果是部署,就用.jar
如果是给别的项目用,就要给.jar.original这个包

<think>嗯,用户想了解如何仅使用repackage来打包Spring Boot项目,特别是在IDEA中。首先,我需要回忆一下Spring Boot Maven插件的相关知识。记得repackage目标的作用是将常规的JAR或WAR重新打包为可执行的Spring Boot包。用户可能已经有一个常规项目,想转换成Spring Boot的可执行包,而不用其他打包方式。 根据引用[3],如果项目没有指定<mainClass>,可能不需要在pom.xml中添加构建配置,但用户需要确保主类存在。引用[2]中提到的问题是因为找不到主类,所以必须确认主类正确配置,并且有@SpringBootApplication注解。这可能意味着用户需要检查BApplication类是否正确设置,如引用[1]中的示例。 用户可能遇到的常见问题包括主类未正确声明,或者Maven插件配置不正确。解决方案应该包括在pom.xml中添加spring-boot-maven-plugin,并确保主类路径正确。同时,用户可能不知道如何仅执行repackage而不进行完整的构建流程,所以需要指导他们使用mvn package或Maven面板中的命令。 另外,需要注意repackage会替换原有的包,所以生成jar可能在target目录下,带有.repackage后缀。用户可能需要清理之前的构建结果以避免冲突。最后,常见错误的处理,比如主类未找到或插件版本问题,也应该提及,参考引用[2]和[3]中的解决方法。</think>要仅使用`repackage`目标打包Spring Boot项目,需遵循以下步骤: ### 步骤说明 1. **确认主类配置** 在`pom.xml`中确保主类路径正确声明(若未自动识别): ```xml <properties> <start-class>com.example.BApplication</start-class> </properties> ``` 或通过插件配置直接指定: ```xml <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.example.BApplication</mainClass> </configuration> </plugin> ``` 主类需包含`@SpringBootApplication`注解和`main`方法[^1][^2]。 2. **执行repackage命令** 在IDEA的Maven工具栏中: - 展开项目生命周期树 - 双击`package`目标(会默认触发`repackage`) 或通过命令行: ```bash mvn package spring-boot:repackage ``` 生成的可执行jar位于`target/`目录,命名格式为`{项目名}-{版本}.jar` ### 完整pom.xml配置示例 ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` ### 注意事项 1. **依赖关系** 执行前需完成`mvn clean install`确保依赖完整 2. **文件覆盖** repackage会覆盖原始jar,原文件会重命名为`*.jar.original` 3. **错误排查** 若提示`Unable to find main class`: - 检查主类注解和路径是否与配置一致 - 确认插件版本与Spring Boot版本匹配[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值