<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
某專案,客戶要求使用已有的 weblogic 部署已經開發好的 springboot,於是乎對 springboot 進行了部分設定的調整,主要包括去除 tomcat 依賴,增加啟動類的處理。
一般都會比較順利,實際上總會遇到些小問題。
本文不贅述如何在 weblogic 中部署專案,如果你有需要,可以存取https://www.jb51.net/article/218458.htm 參考該文章。
打包後釋出到 weblogic 上啟動時,如下圖所示的錯誤:
從異常內容可以很容易判斷出,這是 jar 包衝突導致的錯誤。
經過定位,weblogic 有個目錄 wls12213oracle_commonmodulesthirdparty
,其中存放了一些第三方的預設的 jar 包,專案啟動過程中預設是先載入這裡的 jar 包,再載入專案工程中的 jar 包,因為你無法保證專案工程中的 jar 包和 weblogic 中的 jar 包版本剛好一致,所以就因為 jar 包版本不一致出現了比較常見的類載入衝突的問題。
查閱官網資料,weblogic 也有是解決方案的,可以通過新增並設定 weblogic.xml 檔案來定義哪些類需要優先從專案工程包的 jar 包中載入。
設定方法如下:
在 springboot 專案程式碼和 resource 同級建立一個 webapp 目錄,然後再 webapp 目錄下建立 WEB-INF 目錄,將 weblogic.xml 檔案放在 WEB-INF 中,以 springboot-weblogic-demo 工程為例它的完整路徑就是 springboot-weblogic-demo\srcmainwebappWEB-INFweblogic.xml
,其內容如下:
<?xml version='1.0' encoding='UTF-8'?> <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <container-descriptor> <prefer-application-packages> <package-name>org.slf4j</package-name> <package-name>javax.validation.*</package-name> <package-name>org.hibernate.*</package-name> <package-name>javax.el.*</package-name> <package-name>org.springframework.*</package-name> <!--解決專案中jackson的jar包和weblogic中thirdparty的jar包衝突問題,設定優先載入專案中的jar--> <package-name>com.fasterxml.jackson.*</package-name> </prefer-application-packages> </container-descriptor> <context-root>/springboot-weblogic-demo</context-root> </weblogic-web-app>
僅僅是新增設定了這一個檔案,沒有其他什麼設定了,網上說的那些新增 web.xml 的操作,我這裡並沒有新增,範例是基於 springboot 2.7.2 正常部署執行。
部署的過程中還出現了 GC 錯誤 GC overhead limit exceeded
,這個問題比較容易解決,給 weblogic 啟動環境修改記憶體值,調大一些即可。
修改對應檔案 D:weblogicfmw_12.2.1.3.0_wls_quick_Disk1_1of1wls12213user_projectsdomainsbase_domainbinsetDomainEnv.cmd
,大約在 200 行出頭的位置,修改後的內容如下:
if NOT "%JAVA_VENDOR%"=="HP" ( if "%VM_TYPE%"=="HotSpot" ( set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx4096m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m ) )
重啟 weblogic 服務,最開始就能看到我們修改後剩下的記憶體設定:
WLS_MEM_ARGS_64BIT 的原始值為 -Xms256m -Xmx512m,或者你也可以追加更多關於記憶體的設定,例如:-Xms512m -Xmx1024m -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m
我寫好的 springboot-weblogic-demo 範例工程程式碼的地址:https://github.com/xzxiaoshan/springboot-weblogic-demo
到此這篇關於springboot 部署到 weblogic 中 jar 包衝突的文章就介紹到這了,更多相關springboot 部署weblogic jar 包衝突內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45