部分情況下無法通過maven倉庫直接下載需要的jar包,只能講jar包下載至本地來使用,spring boot框架內(nèi)通過maven加載第三方j(luò)ar包可以通過以下方式來實現(xiàn)(本地jar放在lib/目錄下),項目會打包為jar包來運行。
1、添加maven依賴
<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包路徑
經(jīng)過以上配置,在eclipse內(nèi)已可正常運行,但編譯為jar包時會提示找不到相關(guān)的類,需要進行以下配置。
2、調(diào)整plugin參數(shù)
<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內(nèi)的extdirs配置
3、調(diào)整resources配置
<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資源文件,不配置會被忽視
打包后的文件格式大概為:
BOOT-INF
-- lib
-- ansj_seg-3.0.jar
-- classess
-- application.properties