部分情況下無法通過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