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

1 引入第三方jar包

1.1 jar放置

第三方jar包推荐放置在springboot项目的 src/main/webapp/WEB-INF/lib路径下,如果项目没有该路径,可以新建一个;其实看其他博客上介绍的,怎么放置都是可以的,我推荐这么放置的目的是为了打包,这样放置可以讲你要引用的jar包直接打包到 war包中的web-inf的lib包下,根据我在其他博客上看的结合我自己尝试的,如果jar包不在lib包下,程序中将引用不到(idea中当然可以,放到服务器中就不行了)。
springboot项目第三方jar包引入&&jia包冲突解决_第1张图片
springboot项目第三方jar包引入&&jia包冲突解决_第2张图片

1.2 pom配置

${project.basedir} 表示项目的根目录
${project.basedir}/src/main/webapp/WEB-INF/lib/ImApi.jar 指向jar包
dependency标签配置



    com.ImApi
    ImApi
    1.0.1
    system
    ${project.basedir}/src/main/webapp/WEB-INF/lib/ImApi.jar


    com.commons-logging-1.0.4
    commons-logging-1.0.4
    1.0.1
    system
    ${project.basedir}/src/main/webapp/WEB-INF/lib/commons-logging-1.0.4.jar

plugins标签配置


    
        org.springframework.boot
        spring-boot-maven-plugin
        
            
                
                    repackage
                
            
        
        
            true
            true

        
    
    
        maven-compiler-plugin
        
            1.8
            1.8
            UTF-8
            
                ${project.basedir}/src/main/webapp/WEB-INF/lib
            
        
    
    

2 jar包冲突

报错信息
springboot项目第三方jar包引入&&jia包冲突解决_第3张图片
点击报错信息下面一行的(LogFactoryImpl.java:392)
在这里插入图片描述
提示了两个版本的方法,应该是jar包冲突导致类加载时不能确定到底要加载哪个类;点击第一个commons-loggings1.1.3,发现是系统原有的依赖,点击第二个commons-loggings1.0.4,发现是自己引用的第三方jar包中的依赖,经过多次尝试,发现引用的jar包必须使用1.0.4版本,系统也可以使用1.0.4版本,因此,用标签排除传递依赖,将1.1.3排除掉.重新启动项目,启动成功.

你可能感兴趣的:(bug总结)