2012-08-07 20 views
2

我有一個用於使用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,新版本不支持。

+0

包含堆棧跟蹤? – 2012-08-07 20:54:24

回答

0

我其實已經想通了。我的部署過程被打破,包含文件實際上並沒有發佈到網絡服務器上。

+1

您能解釋一下是什麼壞了,以及如何修復它,以便有類似問題的人也可以這樣做? – 2013-02-08 17:29:26

相關問題