溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如怎么何引入本地jar包到maven工程里

發(fā)布時(shí)間:2022-02-23 10:31:13 來(lái)源:億速云 閱讀:170 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹如怎么何引入本地jar包到maven工程里,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1 起因

在和一些第三方廠商對(duì)接的過(guò)程中, 偶爾會(huì)遇到對(duì)方提供的SDK自帶maven無(wú)法獲取的jar包的情況(對(duì)于開(kāi)源激進(jìn)者的筆者很討厭這種行為)

我們?cè)撊绾翁幚磉@種情況呢, 其實(shí)解決思路很簡(jiǎn)單:

  • 在pom中引入本地jar

  • 打包時(shí)本地jar包含在內(nèi)

讓我們來(lái)看看具體怎么操作吧

idea中雖然可以在項(xiàng)目配置加入, 但打包時(shí)會(huì)報(bào)錯(cuò), 相關(guān)的處理方案不再思考

2 解決方案

首先, 終極解決方案是: 把jar包傳到自己的maven私服上

對(duì)于沒(méi)有自己私服的小伙伴們這是句廢話, 我們還是來(lái)看看實(shí)際的吧

2.1 在pom中引入

以下是我個(gè)人的解決方案, 先介紹下項(xiàng)目目錄:

project
    |---src
    |---lib
         |---pig.jar
    |---pom.xml

我們可直接在pom中加入如下引用:

<dependency>    
    <groupId>cn.com.pig</groupId>    
    <artifactId>pig</artifactId>    
    <version>1.0</version>    
    <scope>system</scope>    
    <systemPath>${project.basedir}/lib/pig.jar</systemPath>
</dependency>

其中的groupId, version等內(nèi)容, 可以在idea中打開(kāi)jar包, 查看里面的MANIFEST.MF獲取

2.2 Spring Boot 打包處理

完成了pom引入后, 直接執(zhí)行maven的package命令, 會(huì)出現(xiàn)找不到pig.jar的問(wèn)題, 我們繼續(xù)來(lái)進(jìn)行修改:

<build>    
    <plugins>        
        <plugin>            
            <groupId>org.springframework.boot</groupId>            
            <artifactId>spring-boot-maven-plugin</artifactId>       
            <!--加入這條配置即可-->
            <configuration>                
                <includeSystemScope>true</includeSystemScope>            
            </configuration>        
        </plugin>    
    </plugins>
<build>

2.3 拓展: Spring Boot 打包加入其它資源

在和硬件設(shè)備交互時(shí), 我們除了基礎(chǔ)的jar包外, 可能還需要引入一些dll文件(當(dāng)然, 筆者更推薦將這些dll放在項(xiàng)目外部, 引用時(shí)通過(guò)絕對(duì)路徑處理)

可以采用下面的方式來(lái)加入這些資源:

<resources>    
    <resource> 
        <directory>dll</directory>        
        <targetPath>/BOOT-INF/dll/</targetPath>        
        <includes>            
            <include>*.*</include>        
        </includes>    
    </resource>
</resources>

對(duì)上面的參數(shù)進(jìn)行下講解:

  • directory: 本地路徑, dll即project/dll

  • targetPath: 打包完成后在jar包中的路徑, 如果開(kāi)頭不為/, 默認(rèn)在classes目錄下追加, 例如dll, 則會(huì)實(shí)際生成在/BOOT-INF/classes/dll, 上面填寫的則會(huì)打包到/BOOT-INF/dll

  • include: 包含文件, *.*為所有

以上是“如怎么何引入本地jar包到maven工程里”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI