我已经在 apache tomcat 上部署了我的应用程序。在此之前,我的 Controller 类名称之一已更改。
之前 lk_ Controller 之后 LK Controller
但是 apache 无法读取(应用)ZK 框架上的类。注意:受控类已经打包在一个包中。
这是我的 ZK 文件:
<!-- Content ommited above -->
<window title="laporan Keuangan" width="auto" height="auto" border="" apply="controller.lap_keuangan.LKController">
<listbox id="listlk">
<listhead>
<listheader label="tanggal"/>
<listheader label="debit"/>
<listheader label="kredit"/>
<listheader label="total"/>
</listhead>
</listbox>
</window>
apache 日志中的错误列表是:
Caused by: java.lang.ClassNotFoundException: controller.lk_Controller
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.zkoss.lang.Classes.forNameByThread(Classes.java:271)
at org.zkoss.zk.ui.impl.PageImpl.resolveClass(PageImpl.java:425)
at org.zkoss.zk.ui.metainfo.ComponentInfo.toComposer(ComponentInfo.java:405)
at org.zkoss.zk.ui.metainfo.ComponentInfo.toComposer(ComponentInfo.java:397)
at org.zkoss.zk.ui.metainfo.ComponentInfo.toComposers(ComponentInfo.java:365)
at org.zkoss.zk.ui.metainfo.ComponentInfo.resolveComposer(ComponentInfo.java:352)
... 52 more
在再次运行应用程序之前,我已取消部署该应用程序。这是在浪费我的时间来跟踪带有指定消息的错误日志。
最佳答案
在默认情况下,当您更改类名时,
您必须重新启动服务器以更新类路径。
对于编辑 zul ,您不必重新启动服务器。
正如我从你的问题中得到的,你提到你的 zul 被修改了, 但在您给定的结果中,它没有在修改后的 zul 下运行。
有一些可能性, 1.资源未按预期更新,如果您在 Eclipse WTP 下运行,有时 WTP 会出现无法正确/缓慢地清理/重新部署资源的错误。
很容易验证这一点,进入webapp文件夹,看看zul是否改变了。
2.文件被一些缓存框架缓存。 (默认情况下它没有缓存,但我看到一些项目使用他们自己的缓存工具导致这个问题。)
我觉得应该是环境问题而不是ZK问题
关于java - 在 apache tomcat 中部署应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776983/