Maven引入本地Jar包并打包进War包

一、背景

在开发钉钉第三方企业应用登录时,需要引用钉钉提供的JAR包,但仓库没有提供,只能采用本地文件的方式引入


image.png

POM文件:

//该工程以WAR包形式部署
    war


        
            com.taobao.top
            top-api-sdk-dev
            dingtalk-SNAPSHOT
            system
            ${pom.basedir}/lib/taobao-sdk-java-auto_1479188381469-20180525.jar
        
        
            com.taobao.top
            lippi-oapi-encrpt
            dingtalk-SNAPSHOT
            system
            ${pom.basedir}/lib/lippi-oapi-encrpt.jar
        


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

采用官方demo中采用的spring-boot-maven-plugin在打包时将本地依赖jar包引入JAR包。
但本工程以WAR包形式打包,虽然依赖也能打出来,但是打在WEB-INF/lib-provided文件夹而不是WEB-INF/lib文件夹中,导致TOMCAT部署的时候找不到JAR包中的引用类。


Maven引入本地Jar包并打包进War包_第1张图片
image.png

解决

采用如下插件,编译阶段将scope为system的jar包打入war包中


    org.apache.maven.plugins
    maven-dependency-plugin
    2.10
    
        
            copy-dependencies
            compile
            
                copy-dependencies
            
            
                ${project.build.directory}/${project.build.finalName}/WEB-INF/lib
                system
            
        
    

Maven引入本地Jar包并打包进War包_第2张图片
image.png

你可能感兴趣的:(Maven引入本地Jar包并打包进War包)