MAVEN项目线上发布出现的问题之一
某臺(tái)機(jī)器JBOSS啟動(dòng)正常,但是運(yùn)行應(yīng)用過程中報(bào)錯(cuò):
?
這是由兩個(gè)bean屬性不一致導(dǎo)致的。定位是Beanutils類加載的包不一致,判斷l(xiāng)ib下是否加載了不同版本的含有beanutils的包:再應(yīng)用的WAR包的LIB目錄下,查找到兩個(gè)包:
解壓后可看到同類路徑下的Beanutil類,但是兩個(gè)內(nèi)容不一樣。JBOSS啟動(dòng),加載順序不定導(dǎo)致。我們?cè)诰€下,預(yù)發(fā)環(huán)境,加載的都是1.6的JAR包,這個(gè)就是程序中引用的正確版本。但是線上發(fā)布的時(shí)候,JBOSS加載的是1.8的版本,這就會(huì)導(dǎo)致程序出錯(cuò),不停的拋出錯(cuò)誤日志。
解決辦法:
查看依賴的JAR包樹,查詢依賴這兩個(gè)JAR包的入口:
如圖所示:這兩個(gè)版本是由其它包依賴引入的。查找主POM的配置,發(fā)覺commons-configuration這個(gè)其實(shí)是非必需的,去掉。再重新打包即可
另外,如果說確實(shí)這個(gè)包是你需要的,則可采用exclude做排除:
?
轉(zhuǎn)載于:https://www.cnblogs.com/enjoyceit/archive/2011/06/22/2086779.html
總結(jié)
以上是生活随笔為你收集整理的MAVEN项目线上发布出现的问题之一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Ruby][3] 条件语句
- 下一篇: oracle中如何移动数据文件