SpringBoot项目打成jar包提供给其他项目使用

1. 剔除不需要的文件

如Application和ApplicationTests

2.不能使用springboot自带打包

解释:使用springboot自带的打包方式,第一级目录为Boot-INF,无法引用。
在这里插入图片描述
要把pom文件里的打包方式

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

这样就不会将多余的文件打到jar包中,方便引用

打包时,需要将配置文件的配置,移植到现有项目的配置文件中

3.包引用

在spring boot的main方法中 的类中加入@SpringBootApplication(scanBasePackages = {“依赖的项目的class路径”, “自己项目的class路径”})
在这里插入图片描述

4.在pom中引入

在你的项目的pom.xml中引入你刚刚打包好的项目即可

<dependency>
    <groupId>com.cmp</groupId>
    <artifactId>cmp_auth_center</artifactId>
    <version>1.0</version>
</dependency>

5.需要注意的问题

强调:被打jar项目中的代码需要注入的bean类,不要和现有各个项目的中注入的bean一样,不然会引起冲突

### 将非SpringBoot项目JAR文件的方法 对于非SpringBoot项目的Java应用程序,可以通过Maven或Gradle工具来构建并生成标准的JAR文件。以下是实现这一目标的具体方法: #### 使用Maven打SpringBoot项目 如果使用的是Maven作为构建工具,则可以配置`pom.xml`文件中的插件部分以支持JAR文件的生成。默认情况下,Maven会自动为Java项目创建一个普通的JAR文件。 在`pom.xml`中添加以下内容即可完成基本设置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!-- 定义入口类 --> <mainClass>com.example.MainApp</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` 上述代码片段定义了一个名为`MainApp`的主类作为程序启动点[^1]。通过运行命令 `mvn clean package` 可以生成最终的JAR文件。 #### 手动指定引导类路径(bootclasspath) 当需要自定义加载某些特定库时,可通过参数 `-c, --bootclasspath` 来显式声明所需的引导类路径资源位置。这通常用于解决依赖冲突或其他高级场景下的需求。 #### Spring Boot与普通JAR的区别 值得注意的是,在Spring Boot应用中,默认采用嵌入式的Tomcat服务器以及其他特性使得其能够独立运行而无需额外部署环境;而对于传统方式构建的标准JAR来说,它们仅含业务逻辑及相关组件,并不自带任何容器功能[^2]。 因此,如果你希望得到类似于MyProject那样可以直接执行(`java -jar`) 的版本号命名形式 (如 myproject-0.0.1-SNAPSHOT.jar),则需确保已正确定位到合适的 Main 方法所在之处并通过 Maven 或 Gradle 设置好相应的 manifest 属性值。 最后提醒一点,虽然这里讨论的内容主要围绕着 Java SE 平台上的常规做法展开论述,但在实际开发过程中还可能涉及到其他框架或者技术栈的选择问题,所以具体情况还需具体分析处理。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值