您的位置:首页 > 编程语言 > Java开发

[置顶] spring boot实战之本地jar包引用

2017-10-17 18:22 337 查看
部分情况下无法通过maven仓库直接下载需要的jar包,只能讲jar包下载至本地来使用,spring boot框架内通过maven加载第三方jar包可以通过以下方式来实现(本地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包路径

经过以上配置,在eclipse内已可正常运行,但编译为jar包时会提示找不到相关的类,需要进行以下配置。

2、调整plugin参数

<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配置

lib

BOOT-INF/lib/

*/.jar

<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: