導航:首頁 > 源碼編譯 > dubbox編譯報錯

dubbox編譯報錯

發布時間:2025-04-10 08:45:40

❶ bbo報錯qos-server...Address already in use

報錯日誌如下:

問題原因是多個服務在該伺服器內運行,兩個服務的qos-server配置埠號一致,啟動時提示被佔用,修改其一埠號並重啟。

qos是bbo的在線運維命令,bbo2.5.8新版本重構了telnet模塊,提供了新的telnet命令支持,新版本的telnet埠與bbo協議的埠是不同的埠,默認為22222。
qos埠沖突並影響服務消費者消費服務,但是每次程序啟動總是拋出埠沖突異常

❷ 關於升級 Dubbo 版本到 2.6.5 後啟動失敗的「坑」

Dubbo 從低版本升級到 2.6.5 版本後,啟動失敗,報錯如下:

<b><font color='red'>上終極方案:使用 2.6.2 以下版本或者 2.7.0 以上版本的 bbo ;</font></b>

具體解決方式需要根據項目的情況解決,提供一些其他方案:

刪除 web.xml 中如下的配置:

Spring Boot 工程沒有特別好的解決方案,提供兩個解決思路:

這個方案也沒有繞過添加 web.xml 的命運,做法如下:

觀察報錯日誌,報錯位置很明顯是 Spring 框架初始化時的報錯,重點是: there is already a root application 。

這個錯誤拋出位置余汪返位於: Spring-web 包的 ContextLoader 類的 initWebApplicationContext 方法。

原因很明顯, ContextLoader 被調用了至少兩遍,第二遍報錯導致項目初始化失敗,其主要的「罪魁禍首」是 bbo 包下面的 web-fragment.xml 。

Servlet 3.0 是隨著 Java EE 6 規范發布的,主要新增特性:

支持 Servlet 3.0 規范的容器,在啟動後會掃描工程的 jar 包,找到符合規范的 添加了相關註解的類 和 web-fragment.xml 然後跟 web.xml 的配置合並作為整個項目的初始化配置。

上述問題的發生原因很明顯了:

這個是 Servlet 3.0 提供的一個屬性,等同一個開關,設置為 true 則表示 web.xml 已經提供了全部的配置信息,不需要容器再去各個 jar 包找配置了陵罩,換句話就是:關閉 可插特性 ;

這個屬性是 注釋裡面提供的解決思路。這個屬性可以理解為指定 web-fragment.xml 的載入順序,和 ordering 標簽的區別是, absolute-ordering 僅僅針對我們指定的 web-fragment.xml 做排序。

輕易升級一個基礎框架不是一個好的做法豎飢,<b>升級基礎框架還是應該關注下當前版本和目標升級版本,框架作者做了些什麼事情,出現過什麼BUG。</b>

當前的 Spring Boot 的解決方案並不讓人滿意,畢竟 Spring Boot 的無Xml的感覺還是很爽的,為了這個升級引入了 web.xml 會有一點點不爽。

閱讀全文

與dubbox編譯報錯相關的資料

熱點內容
程序員放棄後會怎樣 瀏覽:159
河北模具編程 瀏覽:177
adb查找命令 瀏覽:308
安卓手機視頻文件夾怎麼打開 瀏覽:302
平板加密手機後怎麼關閉 瀏覽:556
流媒體伺服器應該注意什麼 瀏覽:527
d8命令編譯 瀏覽:942
壓縮包解壓需要多少空間 瀏覽:138
如何查找app屬性 瀏覽:380
android人臉識別技術 瀏覽:304
pc104編程 瀏覽:328
二維碼反編譯破解推廣 瀏覽:674
修改伺服器的mac地址 瀏覽:520
好玩的編程軟體 瀏覽:891
編程語言創始人有錢嗎 瀏覽:796
短視頻app怎麼獲客 瀏覽:8
查看雲伺服器的應用 瀏覽:427
javadump工具 瀏覽:558
程序員16g 瀏覽:421
程序員沒有辦法成為top怎麼辦 瀏覽:196