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

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

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

首先

原来的文件上传下载服务是用SpringBoot 写的,目录结构如下
SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)_第1张图片
有Controller和Service层,问题就会在这里出现,等会后面会说。

先说打包

首先在要打包的工程的pom.xml文件中加入一下内容,很重要,因为没有这些内容,maven打包会打成SpringBoot的Jar包(针对本地Jar包),无法使用。

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.2version>
                <configuration>
                    <source>1.8source> 
                    <target>1.8target> 
                    <encoding>UTF-8encoding>
                    <skipTests>trueskipTests>
                configuration>
            plugin>
        plugins>
    build>

下一步,改掉目录结构,很重要,否则Controller层会冲突,因为我在新项目中新写了Controller层,就是删除Controller层,移除主程序。之后的目录结构如下
SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)_第2张图片

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

 mvn clean install -Dmaven.test.skip=true

这时会在本地的Resposity目录下打成Jar包,等着调用就行了

调用

进入到新项目中,首先导入Jar包

// 这里买呢的参数其实就是之前那个项目的对应的字段内容
<dependency>
     <groupId>com.lls.itgroupId>
     <artifactId>file-apiartifactId>
     <version>0.0.1-SNAPSHOTversion>
dependency>

next:之后需要将你之前Jar包里面需要的依赖再导入一次到新工程的POM文件中。
next:将之前的配置文件里的内容加入到新工程的配置文件中
next:主程序加入要扫描的包

@ComponentScan(basePackages={"com.lls.it.luc","com.lls.it.file"})

其中前者是新工程中,bean所在的包,后者为原来工程bean所在的包,都需要加入到basepackages中,否则会报错。

新项目中写入Controller层

完工!

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

你可能感兴趣的:(其他)