【发布时间】:2009-02-12 21:40:58
【问题描述】:
我使用 NetBeans 运行 Apache Tomcat 6。当我的代码出现故障时,例如 NullPointerException,tomcat 失败并且不会运行任何其他请求。
我的问题是我无法让 tomcat 停止,我必须重新启动整个 Netbeans IDE。
有什么想法吗?
【问题讨论】:
我使用 NetBeans 运行 Apache Tomcat 6。当我的代码出现故障时,例如 NullPointerException,tomcat 失败并且不会运行任何其他请求。
我的问题是我无法让 tomcat 停止,我必须重新启动整个 Netbeans IDE。
有什么想法吗?
【问题讨论】:
在 Netbeans 6.9.1 (windows) 上,您应该在左侧看到“服务”选项卡以及“项目”、“文件”等其他选项卡。单击“服务”选项卡。单击“服务器”的“+”。带有绿色三角形(播放图标)的所有内容都表示该服务正在运行。右键单击“Apache Tomcat 6.X.XX”并选择“停止”。
【讨论】:
我发现,Netbeans 似乎很难控制 Tomcat。应用程序部署的次数越多,Tomcat 就越不稳定,直到我遇到您描述的问题。在大型应用程序上,它只需要一次部署。 我的解决方法包括通过 Netbeans 中的“服务”选项卡(在 Servers/Tomcat6/applicationContext 下)取消部署应用程序,然后在每次运行应用程序之前停止 Tomcat 实例。 如果 Netbeans 无法取消部署应用程序,我将浏览器指向 Tomcat 管理器 Web 应用程序(通常为 http://localhost:8080/manager/html)并从那里取消部署。 如果 Netbeans 无法停止 Tomcat,我会杀死 Tomcat 正在使用的 JVM(Windows 中的 CTRL + ALT + DEL)。 使用这三种方法,我可以在大约 95% 的时间内避免重新启动 Netbeans。当我感到非常沮丧时,我会从命令行使用 Jetty 运行我的项目。
【讨论】:
cygwin 中使用以下内容来杀死Tomcat(但实际上它会杀死jdk.* 下面的任何java.exe):alias jdkill="ps -Wf | egrep '\\\\Java\\\\jdk.*\\\\java\\.exe' | awk '{ print \$2 }' | xargs taskkill /F /PID"
我不知道您使用的是哪个 Netbeans 版本,但要停止正在运行的 Tomcat 实例,请右键单击 Tomcat 项目的节点并从弹出菜单中选择停止 Tomcat。
【讨论】:
您是否使用 NetBeans 附带的嵌入式 Tomcat? 我建议您 download and unzip Tomcat 6 locally,将其添加到 NetBeans 并将其用于您的 Web 应用程序。
【讨论】:
您可以简单地转到服务并找到“apache tomcat”。右键单击并使其手动(这样当您再次打开机器时它不会自动启动)。在左侧面板上停止服务。您可以稍后在需要时启动它。
【讨论】:
我必须仔细检查,但是当我在 Linux 上运行 NB 时,我相当确定右下角有一个带有“x”的小图标/窗口来终止正在运行的进程(即停止运行)。我没有在mac上看到它,但为什么不呢?
也许我记错了,但是杀死tomcat很尴尬,就像这里描述的那样。
【讨论】: