maven引用第三方jar包的解决方法

       

目录

一、指定路径引用

二、先安装再引用       


        maven有两种引用第三方jar包的形式:一种是scope为system,直接指定jar路径引用;另一种是先安装到本地仓库再引用。

一、指定路径引用

        要想直接指定系统路径引用,需要把scope改成system,然后再添加systemPath标签指定需要引用的jar包路径,如果jar是在项目路径的文件夹中的,可以使用${ project.basedir }来代替项目根目录路径。引用例子如下所示:


    com.smartbi
    smartbi-SDK
    9.3
    system
    ${project.basedir}/src/main/lib/smartbi-SDK.jar

        如果是将项目打包成war包,则需要在配置编译插件时,设置includeSystemScope为true,并且把第三方jar包的文件夹设置成资源文件夹。pom.xml中的build标签下的配置例子如下所示:


    ${project.artifactId}
    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            
                1.8
                1.8
                UTF-8
                true
            
        
    
    
        
            src/main/lib 
            WEB-INF/lib 
            
                **/*.jar
            
        
    

        如果是将项目打包成可运行的jar包,或者是maven多模块项目中,B模块需要引用第三方jar包,A模块引用B模块的情况,使用上面的方法在打包后运行会找不到第三方jar包的类和方法。所以这种情况建议使用下面的先安装再引用的方法。

二、先安装再引用       

        先把第三方的jar包安装到本地仓库,可以使用mvn命令安装,也可以在pom.xml文件中配置插件安装。

mvn命令如下:

mvn install:install-file -Dfile=D:/smartbi-SDK.jar -DgroupId=com.smartbi -DartifactId= smartbi-SDK -Dversion=9.3 -Dpackaging=jar

pom.xml文件中的插件配置如下:



    org.apache.maven.plugins
    maven-install-plugin
    
        
            install-smartbi-SDK
            clean 
            
                ${project.basedir}/src/main/lib/smartbi-SDK.jar
                default
                com.smartbi
                smartbi-SDK
                9.3
                jar
                true
            
            
                install-file
            
        
    

        安装完之后,和其它jar包一样,直接在pom.xml文件中引用即可。引用例子如下所示:


    com.smartbi
    smartbi-SDK
    9.3

 

你可能感兴趣的:(maven)