springboot打包提供给其他项目引用

本文详细介绍了在SpringBoot项目中使用Maven进行正确打包的方法,避免使用spring-boot-maven-plugin导致的类路径问题。同时,深入解析了Maven依赖的scope作用域,包括test、compile、provided和runtime的不同应用场景。

1. 剔除不需要的文件:如Application和ApplicationTests

 

2.打包

不能使用springboot自带打包:

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

 

而应当使用普通maven打包:

 

<build>
   <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
            <source>1.8</source>
            <target>1.8</target>
         </configuration>
      </plugin>
   </plugins>
</build>

 

刚开始我使用了spring-boot-maven-plugin打包,出现了bug。虽然目的项目引用了该打包项目,但是任然无法引用jar中的类,因为springboot-maven-plugin打包的第一级目录为Boot-INF,无法引用。

 

 

 

注1:Maven中的dependency的scope作用域详解

1、test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖

2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去

3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突

4、  runtime在运行的时候依赖,在编译的时候不依赖

 

注2:加入本地maven路径:

C:\Users\ofcard\.m2\repository\com\scn7th\ding-robot-bind-send\0.0.1-SNAPSHOT>mvn install:install-file -Dfile=ding-robot-bind-send-0.0.1-SNAPSHOT.jar -DgroupId=com.scn7th -DartifactId=ding-robot-bind-send -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar

 

注3:java启动jar包(如启动springboot项目jar包):

java –jar xx.jar

转载于:https://www.cnblogs.com/aluaifep/p/9778668.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值