5

我正在努力解决一个奇怪的问题:当我对本地 JBoss 实例中的 POJO 或 Seam 组件进行更改时,重新启动它并加载页面,更改是可见的。但是,在我们的服务器上,运行相同版本的 JBoss,当我停止实例、删除 WAR 文件、上传最新版本并重新启动 JBoss 时,它不会显示一些新的服务器端功能。

具体来说,更改是针对实现 javax.faces.validator.Validator 类的 POJO 类。然后像这样在 XHTML Facelet 中使用它:

<h:inputText value="#{outsideaccount.accountOrganizationEmail}" maxlength="50"
  id="txtOrganizationSupportEmail" 
  validatorMessage="Organization Support Email is not valid. It must be in the pattern 'some_id@some_domain.com'.">
  <f:validator validatorId="AnyEmailValidator"/>
</h:inputText>  

我能够正确使用本地 JBoss 上的电子邮件验证器;在开发服务器上,它使用同一页面上的同一电子邮件引发验证错误。很奇怪。JBoss 是否在某处缓存类文件?如何清除 JBoss 开发服务器缓存中的所有内容?

我在本地使用 Win XP Pro;开发服务器在 JVM 版本 1.5.0_16-b02 上使用 JBoss 4.2.3.GA,带有 Unix SunOS 5.10。谢谢。

4

1 回答 1

7

JBoss 有 work 和 tmp 目录,您可以删除它们以确保一切都是干净的。东西可以缓存在那里,所以如果你遇到问题,你可以在部署时清除它们。还有一个设置可以强制在 JBoss 端自动发生这种情况。如果您的问题是缓存清除问题,这将有助于解决它。

另一种可能性是您在 JBoss 上部署了该战争的两个副本,尽管在生产中部署时应该会给您一些错误。

于 2009-10-14T20:09:18.400 回答