问题
在开发过程中,很多人可能都遇到过这种问题,就是springboot在使用pom.xml 文件管理依赖的时候,有些依赖是加不进去的,那怎么用呢?
##解决方案
解决方案有两种
第一种
将下载的第三方jar包安装在本地maven库,其他项目需要引用时不需要再次安装。但是这样做是不利于协同开发的,比如一个开发者在本地装了这个jar包,另外一位开发者通过git将代码下载之后,由于本地没有安装该jar包,就会报错。
第二种
将下载的jar包放在项目目录中,这种方法就解决了第一种方法的尴尬。但是需要在pom文件中做一些配置。
第一种方式在这里就不展开说了
第二种方式
1、在本地项目目录中建一个目录专门来放jar文件,位置可根据需求设置,如项目根目录下建一个lib目录,并将本地jar包放入lib目录下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
2、在pom中加入以下配置
<dependency>
<groupId>com.heng.util</groupId>
<artifactId>com.heng.util</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${
project.basedir}/lib/kaptcha-2.3.2.jar</systemPath>
</dependency>
project.basedir是项目路径
这样做完之后,在本地是可以使用这个jar包了,但是在将项目打成jar包时,却没有将该jar包打入需要在pom加入以下配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
这样在打成的jar包中就有该jar包。
但是在打war包时,却没有将该jar包打入,就导致在将打包后的war包部署到Tomcat服务器时出现了问题
24-Jul-2020 15:23:07.230 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
24-Jul-2020 15:23:07.230 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
24-Jul-2020 15:23:07.246 信息 [main] org.apache