【发布时间】:2011-07-04 21:53:27
【问题描述】:
当我在 netbeans 中启动我的 Tomcat 6.0 时,我在 tomcat 日志中得到了这样的异常(3 次):
SEVERE: Exception starting filter HTTPMonitorFilter
java.lang.ClassNotFoundException: org.netbeans.modules.web.monitor.server.MonitorFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1173)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1271)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:662)
netbeans 还显示 tomcat 正在启动,我无法停止它(停止菜单处于非活动状态)。 2 或 3 分钟后,它显示无法启动和关闭的错误。但是在这个过程中以及之后我可以浏览到 localhost:8080 (我在 netbeans 的 tomcat 属性中将 8080 设置为服务器端口) 我该如何解决这个问题?
编辑:
我已经重新安装了 Apache tomcat 并将其添加到 netbeans。现在,当我启动服务器时,它不会抛出任何异常,但 2-3 分钟后会给我消息:Starting of Tomcat failed 有什么想法吗?
已解决的问题:如果将tomcat的服务器端口设置为8084就可以了! 问题是netbeans“不想”在8080端口上运行tomcat服务器(它与某些程序在8080端口上运行无关,因为netstat -a命令不显示8080端口的任何记录)。所以我认为这是 Netbeans 的一个功能/错误:)
【问题讨论】:
-
我猜想我个人从未使用过的模块 Monitor Filter 从 Netbeans 的目录
WEB-INF/lib/(作为 .jar Java 文件)中丢失了,应该可能通过 Tools->Plug-ins... 之类的方式从您最喜欢的 IDE 中手动安装 -
如果您认为 NetBeans 中存在错误,请向 NetBeans 问题跟踪器提交问题...这样合适的人会听到并修复它。这是详细说明的链接:netbeans.org/community/issues.html
-
在 Netbeans 中对 Tomcat 进行了几个小时的实验后,我发现问题出在我的防病毒软件 (nod32 v3) 上。它执行过滤到端口 8080 的流量之类的操作,因此 netbeans 无法在此端口启动 tomcat(但可以在任何其他端口上启动)。如果我关闭我的杀毒软件一切正常。即使 antivir 正在工作,glassfish 服务器也会在 netbeans 的 8080 端口上正常启动,这很有趣