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

       

目录

一、指定路径引用

二、先安装再引用       


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

一、指定路径引用

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

<dependency>
    <groupId>com.smartbi</groupId>
    <artifactId>smartbi-SDK</artifactId>
    <version>9.3</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/lib/smartbi-SDK.jar</systemPath>
</dependency>

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

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <!-- 设置编译版本 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/main/lib</directory> <!—第三方jar包存放路径-->
            <targetPath>WEB-INF/lib</targetPath> <!—编译打包后的目标路径-->
            <includes>
                <include>**/*.jar</include>
            </includes>
        </resource>
    </resources>
</build>

        如果是将项目打包成可运行的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文件中的插件配置如下:

<!-- 安装第三方jar包 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <executions>
        <execution>
            <id>install-smartbi-SDK</id>
            <phase>clean</phase> <!—在clean阶段进行安装-->
            <configuration>
                <file>${project.basedir}/src/main/lib/smartbi-SDK.jar</file>
                <repositoryLayout>default</repositoryLayout>
                <groupId>com.smartbi</groupId>
                <artifactId>smartbi-SDK</artifactId>
                <version>9.3</version>
                <packaging>jar</packaging>
                <generatePom>true</generatePom>
            </configuration>
            <goals>
                <goal>install-file</goal>
            </goals>
        </execution>
    </executions>
</plugin>

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

<dependency>
    <groupId>com.smartbi</groupId>
    <artifactId>smartbi-SDK</artifactId>
    <version>9.3</version>
</dependency>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章