2018年10月5日 星期五

WebSphere Application Server (WAS)要新增servlet,已經修改web.xml,但執行都會Error 404: java.io.FileNotFoundException: SRVE0190E

我的war檔安裝在D:\WasWeb\zssee\zssee.ear\zssapp.war\
要新增Servlet
,修改D:\WasWeb\zssee\zssee.ear\zssapp.war\WEB-INF\web.xml重啟後還是一直找不到(錯誤訊息Error 404: java.io.FileNotFoundException: SRVE0190E: ??????/RexServlet)
應該是WAS有ND版本的關係,考慮到多Node節點的Deploy才這樣設計吧?
如果不是ND版多Node的架構可以修改預設的設定


解決方式一:
要修改D:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\XXXXXNode01Cell\applications\zssee.ear\deployments\zssee\zssapp.war\WEB-INF底下的web.xml


解決方式二(比較好的作法):
也可以從WAS Console修改『使用配置資訊(二進位檔) 』勾選

以後WAS就會使D:\WasWeb\zssee\zssee.ear\zssapp.war\WEB-INF\web.xml這個組態檔

 到應用程式(此例是zssee)下的『應用程式二進位檔

 
 
勾選『使用配置資訊(二進位檔』
『啟用二進位程式模組配送、展開並清除後置解除安裝』一定要取消勾選!!!
沒取消勾選,會導致ear/war資料夾下的Object Code和組態檔會還原成上次Deploy ear/war的那一版



https://www.ibm.com/support/knowledgecenter/zh-tw/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/urun_rapp_appbin.html

在解除安裝之後啟用二進位檔的配送、展開和清理

指定產品在安裝期間是否要展開安裝位置中的應用程式二進位檔,以及在解除安裝期間是否要刪除應用程式的二進位檔。預設值是啟用應用程式分散作業。安裝的應用程式之應用程式二進位檔會展開到指定目錄。

在單一伺服器的安裝架構上,當您解除安裝和儲存配置變更時,會刪除二進位檔。

 

參考:
https://www.ibm.com/support/knowledgecenter/zh-tw/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/urun_rapp_appbin.html


https://www.ibm.com/support/knowledgecenter/zh-tw/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/tweb_jsfengine.html

https://stackoverflow.com/questions/29536294/websphere-application-modify-web-xml-doesnt-work

Websphere Application Server (WAS) 中应用的哪一个 web.xml 在起作用
https://yanbin.blog/websphere-application-server-was-which-web-xml/

WebSphere Application Server 更新web.xml的问题以解决有些应用在tomcat环境下可以跑,更新到was上失效的问题
https://blog.csdn.net/qq_35067322/article/details/53993213

對WebSphere中Cell、Node、Server、Node Agent、Cluster 的理解
https://www.itread01.com/content/1542105363.html














沒有留言:

張貼留言