我有一个用于使用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