欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)

程序员文章站 2022-07-07 22:52:52
...

SpringBoot工程中导入本地自定义Jar包

最近在项目中由于要使用一个之前写好的文件上传下载工程的服务,需要将原来的SpringBoot工程打成Jar包放到这次项目中使用。
网上找了一堆案例,最后一个成功的都没有,现在也没搞清楚那些为什么不行,最后请教了一些大佬,最后大家一起解决了问题,记录一下,方便其他需要的人使用

首先

原来的文件上传下载服务是用SpringBoot 写的,目录结构如下
SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)
有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层,移除主程序。之后的目录结构如下
SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)

再下一步,打开终端,进入到要打包的项目中,执行一下打包代码

 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层

完工!

看着并不难,但是网上找的其他例子一致不成功,好烦,希望这个能帮助到大家!感恩!