springboot项目第三方jar包引入&&jia包冲突解决

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排除掉.重新启动项目,启动成功.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值