eclipse tomcat: preparing launch delegate

重启了一下eclipse, tomcat 就每次停在那里不动了, 看detail, 就说 preparing launch delegate.

google 一下, 有不同动解决办法, 我这边是 找到那个进程在占用我tomcat 要用的 8080 端口, 然后kill 掉就好了

_$ lsof -i:8080
java 26417 tian 45u IPv6 0x92e167181899ff9 0t0 TCP *:http-alt (LISTEN)

_$ kill -9 26417

之前一直报 端口被占用的, 很直观, 这次直接停在那里了.

后来发现 这样还不行, “preparing launch delegate” 这句一直不动的意思是: “我被什么block 了, 不能继续“. 最后发现我的问题是这样的:
我在debug那个jar 包的代码在call System.gc(), 所以在这个gc()方法上设置了断点, 当我让tomcat 以debug 模式启动时, 它在早起就可能 call 了 System.gc(), 这个时候就被 pause了, 直接不打任何log, 就停在那里了. 如果我直接不debug启动, 而是正常启动, 是可以的. 另外我把这个断点去掉, 也能正常启动.

所以 一定是什么block tomcat 了.

eclipse 绝对是浪费生命最多的地方.

标签: none

添加新评论