我有一個用於使用Struts 2.0庫的jboss 4.2.3上部署的java webapp。我最近將它升級到Struts 2.3.4並更新了所有代碼以使用新版本。JBoss沒有檢測到應用程序的部署
在我的本地工作站上,我開始收到錯誤,指向我刪除的代碼,這些代碼取決於舊版本的Struts。當我清除位於JBoss的預編譯JSP文件夾的內容,這些錯誤消失:
jboss\server\<name_of_my_instance>\work\jboss.web\localhost\_\org\apache\jsp
今天,我部署的新版本,以我們的生產網絡服務器。我清除了JSP預編譯目錄(以上列出)的內容並重新啓動了Web服務器。
每當用戶轉到我修改的頁面以刪除Struts 2.0標籤(並用Struts 2.3.4替換它們),他們就會得到關於Struts無法找到Struts 2.0文件的服務器錯誤。我無法在本地實例上重現這些錯誤。
有沒有人有關於我的本地和生產網絡服務器之間可能配置不同的任何想法?我如何強制生產服務器讀取我部署的新webapp?
注意 - 我正在使用分解部署(而不是WAR),並且有問題的頁面使用包含文件。下面是一個例子:
myInclude.inc
<s:if test="%{userIsAdmin}">
<%-- Show some toolbar --%>
</s:if>
myFile.jsp
<%@ include file="myInclude.inc"%>
訪問myFile.jsp產生自JBoss的棧跟蹤似乎沒有檢測到myInclude.inc文件已更改。舊版本的myInclude.inc依賴於舊的Struts 2.0,新版本不支持。
包含堆棧跟蹤? – 2012-08-07 20:54:24