SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)
SpringBoot工程中导入本地自定义Jar包
最近在项目中由于要使用一个之前写好的文件上传下载工程的服务,需要将原来的SpringBoot工程打成Jar包放到这次项目中使用。
网上找了一堆案例,最后一个成功的都没有,现在也没搞清楚那些为什么不行,最后请教了一些大佬,最后大家一起解决了问题,记录一下,方便其他需要的人使用
首先
原来的文件上传下载服务是用SpringBoot 写的,目录结构如下
有Controller和Service层,问题就会在这里出现,等会后面会说。
先说打包
首先在要打包的工程的pom.xml文件中加入一下内容,很重要,因为没有这些内容,maven打包会打成SpringBoot的Jar包(针对本地Jar包),无法使用。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source> <!-- 源代码使用的JDK版本 -->
<target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
<encoding>UTF-8</encoding><!-- 字符集编码 -->
<skipTests>true</skipTests><!-- 跳过测试 -->
</configuration>
</plugin>
</plugins>
</build>
下一步,改掉目录结构,很重要,否则Controller层会冲突,因为我在新项目中新写了Controller层,就是删除Controller层,移除主程序。之后的目录结构如下
再下一步,打开终端,进入到要打包的项目中,执行一下打包代码
mvn clean install -Dmaven.test.skip=true
这时会在本地的Resposity目录下打成Jar包,等着调用就行了
调用
进入到新项目中,首先导入Jar包
// 这里买呢的参数其实就是之前那个项目的对应的字段内容
<dependency>
<groupId>com.lls.it</groupId>
<artifactId>file-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
next:之后需要将你之前Jar包里面需要的依赖再导入一次到新工程的POM文件中。
next:将之前的配置文件里的内容加入到新工程的配置文件中
next:主程序加入要扫描的包
@ComponentScan(basePackages={"com.lls.it.luc","com.lls.it.file"})
其中前者是新工程中,bean所在的包,后者为原来工程bean所在的包,都需要加入到basepackages中,否则会报错。
新项目中写入Controller层
完工!
看着并不难,但是网上找的其他例子一致不成功,好烦,希望这个能帮助到大家!感恩!
上一篇: Python3中自定义包和导入自定义包
下一篇: Image Pyramid