当我从Eclipse启动Tomcat 7时,我通常会添加类似
的内容-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8101
到它的启动配置,因为我有时想稍后远程连接Eclipse调试器。但是,当我这样做并试图关闭Tomcat从Cclipses"服务器"查看,我收到错误
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized
我认为这是因为Eclipse启动了一个新进程,通常会告诉正在运行的Tomcat关闭,并且还使用我在启动配置中引入的调试参数。此过程失败,因为已使用命名端口8101。有人有想法在该设置中允许干净的Tomcat关闭吗?
(我不想首先在调试模式下启动Tomcat,因为这会降低eclipse和Tomcat的速度。当我想调试时,我也不想在调试模式下重启它,因为这需要很多时间。)
答案 0 :(得分:1)
在Tomcat的server.xml
中<服务器端口=" 8005"关机=" SHUTDOWN">
该设置可用于关闭Tomcat。您可以编写一个简单的程序并运行它。
import java.net.*;
public class t {
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1",8005);
s.getOutputStream().write("SHUTDOWN".getBytes());
s.close();
}
}