Maven的assembly插件使用:
成都創(chuàng)新互聯(lián)公司專注于廣陽企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。廣陽網(wǎng)站建設(shè)公司,為廣陽等地區(qū)提供建站服務(wù)。全流程按需定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)最近在做一個(gè)小工程,利用java啟動(dòng)運(yùn)行。
為了簡(jiǎn)單方便使用運(yùn)行,利用maven的assembly將需要使用的jar都打包到一個(gè)jar中。這樣無論拷貝到哪里,只有運(yùn)行就可以,不用需要任何配置。
配置時(shí)指定mainClass,運(yùn)行java的main函數(shù)時(shí)則可以不用指定包含main函數(shù)的類路徑名。如運(yùn)行下面的jar文件則非常簡(jiǎn)單方便(后臺(tái)運(yùn)行):nohup java -jar CalculateScore.jar &
第一步:需要在pom的xml中添加配置;
第二步:配置maven的Run Configurations,Goals配置成assembly:assembly即可。
上面的過程一直在使用,很正常。但最近的小應(yīng)用卻出了問題:
打出的jar包不產(chǎn)生日志文件,具體說是不生成log4j的日志信息,程序運(yùn)行正常也不報(bào)錯(cuò),任何提示都沒有。
網(wǎng)上各種查詢,沒有結(jié)果。為了解決問題就各種嘗試。
腦子里一直有疑問:以前的都正常使用,都可以打印日志,為什么這個(gè)就不行呢?
各種嘗試都不行,于是就反編譯jar包來看。結(jié)果發(fā)現(xiàn)log4j.properties文件不是自己的那個(gè)文件,不知道是哪個(gè)包里的,而自己程序中都使用的Logger.getLogger(name)的形式,所以都無法打印日志信息。
問題來了,為什么不是自己的那個(gè)log4j配置文件呢?
Maven打包的時(shí)候Console中都有日志信息,仔細(xì)查看發(fā)現(xiàn),多次提示log4j的配置已經(jīng)加入并跳過。
于是猜想:一定是打包的過程中,先加載了其他jar中的log4j的配置文件,而以后的包括自己應(yīng)用中的log4j的配置文件都被忽略了。
可是問題又來了,自己以前使用同樣的方式,也使用了很多第三方包,都包含有l(wèi)og4j的配置文件,為什么都沒有問題呢?查看以前的打的包,log4j的配置文件都是自己工程中配置的,這是為什么呢?
于是就開始比較打包的配置過程是否有差別,又有新發(fā)現(xiàn):
Maven打包的Run Configurations配置中有項(xiàng)Base directory,這里配置有問題。
如下面的兩張圖所示:
如果Base directory中配置的是通過Browse Workspace選擇的工程就會(huì)產(chǎn)生上面的問題;
如果Base directory中配置的是通過Browse File System選擇的文件地址路徑就不會(huì)產(chǎn)生上面的問題。
具體為什么會(huì)出現(xiàn)這種情況,有待研究。
會(huì)產(chǎn)生問題的配置方式:
不會(huì)產(chǎn)生問題的配置方式:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱:Mavenassembly打包文件被覆蓋問題-創(chuàng)新互聯(lián)
文章路徑:http://vcdvsql.cn/article18/jiedp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、靜態(tài)網(wǎng)站、定制網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容