搬運 既使用maven編譯,又使用lib下的Jar包

搬運 既使用maven編譯肖方,又使用lib下的Jar包
https://blog.csdn.net/catoop/article/details/48489365

在項目開發(fā)中祥绞,項目用maven管理矾柜,是一個maven項目阱驾。
一般情況下jar包都可以使用pom.xml來配置管理就谜,但也有一些時候怪蔑,我們項目中使用了一個內(nèi)部jar文件,但是這個文件我們又沒有開放到maven庫中丧荐。
我們會將文件當?shù)轿覀冺椖縒EB-INF/lib中缆瓣。
如果我們不對pom.xml進行特殊配置的話,maven打包是不會自動去引用和編譯lib中的jar文件的虹统,所以需要我們修改下pom.xml文件弓坞。

修改maven-compiler-plugin的配置,如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
        <compilerArguments>
            <verbose />
            <bootclasspath>${env.JAVA_HOME}/jre/lib/rt.jar</bootclasspath>
            <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>
        </compilerArguments>
    </configuration>
</plugin>

其他配置是我的原來配置车荔,針對lib引用這個問題渡冻,只需要增加的是:

<extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs>

不過在3.1版本以后maven-compiler-plugin將compilerArguments定為過時了,建議大家按下面的方法寫忧便。
其中表示javac平時用空格隔開的的每一個參數(shù)族吻。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
        <compilerArgs> 
            <arg>-verbose</arg>
            <arg>-Xlint:unchecked</arg>
            <arg>-Xlint:deprecation</arg>
            <arg>-bootclasspath</arg>
            <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg>
            <arg>-extdirs</arg> 
            <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg>
        </compilerArgs> 
    </configuration>
</plugin>

其中${project.basedir}一定要寫,不然會出現(xiàn)“在windows”下可以正常編譯珠增,在Linux服務(wù)器上就“有可能”出現(xiàn)編譯找不到j(luò)ar包的錯誤超歌。

另外科普一下,maven的目錄約定:
pom.xml所在的目錄應(yīng)為項目的根目錄蒂教,假設(shè)該目錄為${proj-dir}巍举,那么Maven有以下假設(shè):

${proj-dir}/src/main/java —— 存放項目的.java文件。

${proj-dir}/src/main/resources —— 存放項目資源文件凝垛,如spring, hibernate配置文件懊悯。

${proj-dir}/src/test/jave —— 存放所有測試.java文件,如JUnit測試類梦皮。

${proj-dir}/src/test/resources —— 測試資源文件炭分。

${proj-dir}/target —— 項目輸出位置。

運行一條mvn clean package命令届氢,Maven會幫你清除target目錄欠窒,重新建一個空的,編譯src/main/java類至target/classes退子,復制src/main/resources的文件至target/classes岖妄,編譯src/test/java至target/test-classes,復制src/test/resources的文件至target/test-classes寂祥;然后運行所有測試荐虐;測試通過后,使用jar命令打包丸凭,存儲于target目錄福扬。Maven做的事情一點也不少腕铸,只是都對用戶隱蔽起來了,它只要求你遵循它的約定铛碑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狠裹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子汽烦,更是在濱河造成了極大的恐慌,老刑警劉巖撇吞,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俗冻,死亡現(xiàn)場離奇詭異,居然都是意外死亡牍颈,警方通過查閱死者的電腦和手機迄薄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煮岁,“玉大人讥蔽,你說我怎么就攤上這事∪伺遥” “怎么了勤篮?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長色罚。 經(jīng)常有香客問我碰缔,道長,這世上最難降的妖魔是什么戳护? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任金抡,我火速辦了婚禮,結(jié)果婚禮上腌且,老公的妹妹穿的比我還像新娘梗肝。我一直安慰自己,他們只是感情好铺董,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布巫击。 她就那樣靜靜地躺著,像睡著了一般精续。 火紅的嫁衣襯著肌膚如雪坝锰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天重付,我揣著相機與錄音顷级,去河邊找鬼。 笑死确垫,一個胖子當著我的面吹牛弓颈,可吹牛的內(nèi)容都是我干的帽芽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼翔冀,長吁一口氣:“原來是場噩夢啊……” “哼导街!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橘蜜,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤菊匿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后计福,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡徽职,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年象颖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姆钉。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡说订,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出潮瓶,到底是詐尸還是另有隱情陶冷,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布毯辅,位于F島的核電站埂伦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏思恐。R本人自食惡果不足惜沾谜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胀莹。 院中可真熱鬧基跑,春花似錦、人聲如沸描焰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荆秦。三九已至篱竭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萄凤,已是汗流浹背室抽。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靡努,地道東北人坪圾。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓晓折,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兽泄。 傳聞我的和親對象是個殘疾皇子漓概,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)病梢,斷路器胃珍,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,811評論 6 342
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 2,696評論 0 3
  • 簡介 概述 Maven 是一個項目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,293評論 6 39
  • 1.編寫POM Maven項目的核心文件是pom.xml,POM(Project Objcet Model)項目對...
    zlcook閱讀 5,908評論 7 26