SpringBoot使用本地jar包
https://blog.csdn.net/dongdingzhuo/article/details/78731704
相信大家和我一样肯定会遇到项目中需要导入自己写的一些jar,并不是所有的jar包在maven上都能下到的,特别有些是公司内部写的,或者自己封装的一下jar包,这种jar包怎么导入到SpringBoot项目中
1.我的jar包在项目中的位置
2.maven中导入(如果单独在idea,eclipse等编辑器中使用,就这样就可以了)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<!--导入自定义jar包--> <!--工具类--> <dependency> <groupId>com.yun.common</groupId> <artifactId>common</artifactId> <version>0.0.1</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/common-0.0.1.jar</systemPath> </dependency> <dependency> <groupId>com.alipay</groupId> <artifactId>sdk</artifactId> <version>0.0.1</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/alipay-sdk-java-0.0.1.jar</systemPath> </dependency>
3.如果单纯只是上面那样写,通过maven生成的项目jar运行会报错,缺少我们自己本地的jar包
怎么解决这个问题,在网上有很多写法,我基本都试完了,最后东拼西凑的弄出一种用法终于成功了,在这里记录下,顺便也帮助下和我一样的同学
图中1是springboot的maven插件不用说了吧
图中2才是我要说的重点,这个地方是指定我们本地jar包的位置,让maven打包的时候一起打进去
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.7.RELEASE</version> <configuration> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/src/main/resources/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins>
4.新问题来了,如果单纯使用上面这段maven插件还是不能解决问题,还需要告诉maven具体要把哪些资源打包进去,我就是在下面这个绕了很久
图中1,2是我项目中用到的一些配置文件和本文无关,但是如果你除了jar包还有其他资源在项目resources文件夹下也要通过这种方式加载进去
图中3,4是绕了我很久的问题根源,网上很多地方都讲到了要配置图5,配置了之后你会发现你项目就启动不了,因为springboot的配置没加载进来,这个坑大家一定要注意。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36<resources> <resource> <directory>${basedir}/src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.txt</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <targetPath>config/</targetPath> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <targetPath>BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> </resources>
PS:plugins标记和resources标记在maven中都位于build标记之下,build标记和dependencies标记是同级关系
SpringBoot使用本地jar包
置顶 2017年12月06日 16:03:22 懂点IT 阅读数:9317
版权声明:本文为博主原创文章,未经【懂点IT】允许不得转载。如果有问题大家可以在博客下面留言 https://blog.csdn.net/dongdingzhuo/article/details/78731704
相信大家和我一样肯定会遇到项目中需要导入自己写的一些jar,并不是所有的jar包在maven上都能下到的,特别有些是公司内部写的,或者自己封装的一下jar包,这种jar包怎么导入到SpringBoot项目中
1.我的jar包在项目中的位置
2.maven中导入(如果单独在idea,eclipse等编辑器中使用,就这样就可以了)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<!--导入自定义jar包--> <!--工具类--> <dependency> <groupId>com.yun.common</groupId> <artifactId>common</artifactId> <version>0.0.1</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/common-0.0.1.jar</systemPath> </dependency> <dependency> <groupId>com.alipay</groupId> <artifactId>sdk</artifactId> <version>0.0.1</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/alipay-sdk-java-0.0.1.jar</systemPath> </dependency>
3.如果单纯只是上面那样写,通过maven生成的项目jar运行会报错,缺少我们自己本地的jar包
怎么解决这个问题,在网上有很多写法,我基本都试完了,最后东拼西凑的弄出一种用法终于成功了,在这里记录下,顺便也帮助下和我一样的同学
图中1是springboot的maven插件不用说了吧
图中2才是我要说的重点,这个地方是指定我们本地jar包的位置,让maven打包的时候一起打进去
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.7.RELEASE</version> <configuration> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/src/main/resources/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins>
4.新问题来了,如果单纯使用上面这段maven插件还是不能解决问题,还需要告诉maven具体要把哪些资源打包进去,我就是在下面这个绕了很久
图中1,2是我项目中用到的一些配置文件和本文无关,但是如果你除了jar包还有其他资源在项目resources文件夹下也要通过这种方式加载进去
图中3,4是绕了我很久的问题根源,网上很多地方都讲到了要配置图5,配置了之后你会发现你项目就启动不了,因为springboot的配置没加载进来,这个坑大家一定要注意。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36<resources> <resource> <directory>${basedir}/src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.txt</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <targetPath>config/</targetPath> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <targetPath>BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> </resources>
PS:plugins标记和resources标记在maven中都位于build标记之下,build标记和dependencies标记是同级关系
最后
以上就是欢喜背包最近收集整理的关于SpringBoot使用本地jar包SpringBoot使用本地jar包SpringBoot使用本地jar包的全部内容,更多相关SpringBoot使用本地jar包SpringBoot使用本地jar包SpringBoot使用本地jar包内容请搜索靠谱客的其他文章。
发表评论 取消回复