具體分析過程如下
啟動過程的異常:
根據異常裡的
關鍵詞查詢到Jboss的bug單 https://issues.jboss.org/browse/IMMUTANT-144

中文解釋是"錯誤發生在部署兩個應用程式都依賴于io.netty/netty"
Jim Crossley在下面給出的解決方案是“Removed the pojo subsystem from standalone.xml. This prevents random jboss-beans.xml files from being discovered/deployed. The netty jar contains one.”中文意思就是“從standalone.xml删除pojo subsystem,這可以防止任意的jboss-beans.xml檔案被發現/部署,netty的jar包含一個”。
這裡給出Netty3的Jar包與Netty4的Jar的一個對比:
很明顯netty3中多了一個jboss-beans.xml檔案,這裡有一個問題,netty3.5中jboss-beans.xml的作用是什麼?
查了資料說是類似于plugin.xml一樣的作用,也就是插件的加載,netty3中的jboss-beans.xml内容如下:
也就是因為這個被重複注冊的Bug,這個bug在是由于安裝的extension<extension module="org.jboss.as.pojo"/>
導緻的,可以從這個pojo切入解決,也可以直接把依賴的netty3 Jar包裡的jboss-beans.xml删除,将删除的包放在webapp\WEB-INF\lib目錄下
問題是這個pojo的作用是什麼?官方文檔的解釋如下
使應用程式的部署包含JBoss Microcontainer服務,支援的早期版本的JBoss應用程式伺服器,也就是說可有可無。那就删除吧,在對應的模式(profile)下找到<subsystem xmlns="urn:jboss:domain:pojo:1.0"/> 然後删除,重新開機server,發現可以布署了。
設定Profile
設定布署在同一個邏輯服務結點上:
啟動服務
jboss-deployment-structure.xml的作用:防止伺服器自動添加一些依賴關系
内容如下:
可以避免應用中引用了Netty導緻的和Jboss的重複沖突問題