maven項目引入本地jar包史上最詳細實踐方法 1. IDE工具如Jetbrains IDEA考慮: 2. Maven編譯層面考慮: 3. 目標jar程序執行層面考慮:

maven引入本地jar包問題從3個層面考慮:

1. IDE工具如Jetbrains IDEA考慮:

依次打開IDEA的File – Project Structure – Project Settings – Modules –

Dependencies 選項卡區域,點擊右上角+號圖標,選擇1.JARS or

directories…,再選擇java工程根目錄下的lib或libs目錄下,把所有需要本地引入的jar包都多選中,然後點擊OK即可。

2. Maven編譯層面考慮:

在pom.xml文件中dependencies組件的最後部分添加如下圖的本地依賴jar包。

注意scope爲system表示本地的jar包。

systemPath爲本地路徑,一定要用${project.basedir}/開頭引入,以表通用型。

以上3個地方如此修改後,聯合的效果是,mvn clean package

後會target目錄下生成一個lib目錄,並且把所有的遠程jar包和本地jar包都拷貝到lib目錄下,以供後期java程序運行時找到之用。注意本地jar包會以上圖中綠色框的約定的命名方式出現在lib目錄下。

上圖中<addClasspath>true</addClasspath>表明會在生成的目標jar文件中MANIFEST.MF中添加classpath如下圖,<classpathPrefix>lib</classpathPrefix>

表明會給MANIFEST.MF中的classpath中每一個classpath加一個前綴lib.這些特性都非常重要。

因此<plugins></plugins>組件下一共有3項:

以vim 打開生成的目標jar包vi mylucenedemo.jar:後:

光標放在MANIFEST.MF上按下回車,即可看到:

此外,如果有需要的話,java工程目標jar的運行可能還依賴於一些配置文件,通過pom.xml中profiles下的profile將其拷貝到target目錄下的conf目錄中去:

效果如下圖:

3. 目標jar程序執行層面考慮:

接下來,就可以在java工程的根目錄下執行:mvn clean install -U, 會生成如下的target目錄,有用的是conf目錄,lib目錄和目標文件mylucenedemo.jar.

執行方式是: 在target目錄下直接執行java -jar mylucenedemo.jar即可。

會自動讀取當前目下的lib子目錄的所有依賴jar包,包括引入的本地jar包。以及conf目錄下的所有配置文件。

來源:https://www.tuicool.com/articles/UfYv2eY

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