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>

 

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