部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,spring boot框架内通过maven加载第三方jar包可以通过以下方式来实现(本地jar放在lib/目录下),项目会打包为jar包来运行。
1、添加maven依赖
1
2
3
4
5
6
7
|
< dependency >
< groupId >org.ansj</ groupId >
< artifactId >ansj_seg</ artifactId >
< version >3.0</ version >
< scope >system</ scope >
< systemPath >${project.basedir}/lib/ansj_seg-3.0.jar</ systemPath >
</ dependency >
|
- scope system指明是本地jar包
- systemPath指明本地jar包路径
经过以上配置,在eclipse内已可正常运行,但编译为jar包时会提示找不到相关的类,需要进行以下配置。
2、调整plugin参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< plugins >
< plugin >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-maven-plugin</ artifactId >
</ plugin >
< plugin >
< groupId >org.apache.maven.plugins</ groupId >
< artifactId >maven-compiler-plugin</ artifactId >
< configuration >
< source >1.7</ source >
< target >1.7</ target >
< compilerArguments >
< extdirs >${project.basedir}/lib</ extdirs >
</ compilerArguments >
</ configuration >
</ plugin >
</ plugins >
|
重点是compilerArguments内的extdirs配置
3、调整resources配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
< resources >
< resource >
< directory >lib</ directory >
< targetPath >BOOT-INF/lib/</ targetPath >
< includes >
< include >*/.jar</ include >
</ includes >
</ resource >
< resource >
< directory >${project.basedir}/src/main/resources</ directory >
< targetPath >BOOT-INF/classes/</ targetPath >
</ resource >
</ resources >
|
- directory lib配置的作用是指定lib目录下的jar包作为资源文件,在打包时一起copy至classes是目录下
- directory src/main/resources配置的作用是指明正常的java资源文件,不配置会被忽视
打包后的文件格式大概为:
1
2
3
4
5
|
BOOT-INF
-- lib
-- ansj_seg-3.0.jar
-- classess
-- application.properties
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.jianshu.com/p/eb912edceecd?utm_source=tuicool&utm_medium=referral