1 引入第三方jar包
1.1 jar放置
第三方jar包推荐放置在springboot项目的 src/main/webapp/WEB-INF/lib路径下,如果项目没有该路径,可以新建一个;其实看其他博客上介绍的,怎么放置都是可以的,我推荐这么放置的目的是为了打包,这样放置可以讲你要引用的jar包直接打包到 war包中的web-inf的lib包下,根据我在其他博客上看的结合我自己尝试的,如果jar包不在lib包下,程序中将引用不到(idea中当然可以,放到服务器中就不行了)。
1.2 pom配置
${project.basedir} 表示项目的根目录
${project.basedir}/src/main/webapp/WEB-INF/lib/ImApi.jar 指向jar包
dependency标签配置
<!--短信服务-->
<dependency>
<groupId>com.ImApi</groupId>
<artifactId>ImApi</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ImApi.jar</systemPath>
</dependency>
<dependency>
<groupId>com.commons-logging-1.0.4</groupId>
<artifactId>commons-logging-1.0.4</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/commons-logging-1.0.4.jar</systemPath>
</dependency>
plugins标签配置
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
2 jar包冲突
报错信息
点击报错信息下面一行的(LogFactoryImpl.java:392)
提示了两个版本的方法,应该是jar包冲突导致类加载时不能确定到底要加载哪个类;点击第一个commons-loggings1.1.3,发现是系统原有的依赖,点击第二个commons-loggings1.0.4,发现是自己引用的第三方jar包中的依赖,经过多次尝试,发现引用的jar包必须使用1.0.4版本,系统也可以使用1.0.4版本,因此,用<exclusions>标签排除传递依赖,将1.1.3排除掉.重新启动项目,启动成功.