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层

完工!

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

猜你喜欢

转载自blog.csdn.net/qq_22798455/article/details/81877751