今天要开发个新东西,调试tomcat的时候,从myeclipse中可以正常启动,但手动启动竟然怎么也打不开。并报出如下错误:
错误代码
1
F:\Tomcat\bin>tomcat6
2
2010-9-3 22:55:35 org.apache.catalina.core.AprLifecycleListener init
3
信息: The APR based Apache Tomcat Native library which allows optimal performanc
4
e in production environments was not found on the java.library.path: F:\Tomcat\b
5
in;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;
6
C:\WINDOWS;C:\WINDOWS\System32\Wbem;F:\Java\jdk1.6.0_16\bin;F:\Java\jdk1.6.0_16\
7
jre\bin;F:\apache-ant-1.7.1\bin;C:\Program Files\Common Files\Thunder Network\Ka
8
nKan\Codecs;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;F:\cvsnt;F:\Tort
9
oiseSVN\bin;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
10
2010-9-3 22:55:35 org.apache.coyote.http11.Http11Protocol init
11
严重: Error initializing endpoint
12
java.net.BindException: Cannot assign requested address: JVM_Bind<null>:8181
13
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
14
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
15![]()
16
at org.apache.catalina.connector.Connector.initialize(Connector.java:105
17
8)
18
at org.apache.catalina.core.StandardService.initialize(StandardService.j
19
ava:677)
20
at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
21
a:795)
22
at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
23
at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
24
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
25
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
26
java:39)
27
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
28
sorImpl.java:25)
29
at java.lang.reflect.Method.invoke(Method.java:597)
30
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
31
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
32
2010-9-3 22:55:35 org.apache.catalina.startup.Catalina load
33
严重: Catalina.start
34
LifecycleException: Protocol handler initialization failed: java.net.BindExcept
35
ion: Cannot assign requested address: JVM_Bind<null>:8181
36
at org.apache.catalina.connector.Connector.initialize(Connector.java:106
37
0)
38
at org.apache.catalina.core.StandardService.initialize(StandardService.j
39
ava:677)
40
at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
41
a:795)
42
at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
43
at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
44
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
45
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
46
java:39)
47
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
48
sorImpl.java:25)
49
at java.lang.reflect.Method.invoke(Method.java:597)
50
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
51
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
52
2010-9-3 22:55:35 org.apache.catalina.startup.Catalina load
53
信息: Initialization processed in 933 ms
54
2010-9-3 22:55:36 org.apache.catalina.core.StandardService start
55
信息: Starting service Catalina
56
2010-9-3 22:55:36 org.apache.catalina.core.StandardEngine start
57
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
58
2010-9-3 22:55:37 org.apache.coyote.http11.Http11Protocol start
59
严重: Error starting endpoint
60
java.net.BindException: Cannot assign requested address: JVM_Bind<null>:8181
61
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
62
at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:519)
63
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203
64
)
65
at org.apache.catalina.connector.Connector.start(Connector.java:1131)
66
at org.apache.catalina.core.StandardService.start(StandardService.java:5
67
31)
68
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
69
)
70
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
71
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
72
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
73
java:39)
74
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
75
sorImpl.java:25)
76
at java.lang.reflect.Method.invoke(Method.java:597)
77
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
78
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
79
2010-9-3 22:55:37 org.apache.catalina.startup.Catalina start
80
严重: Catalina.start:
81
LifecycleException: service.getName(): "Catalina"; Protocol handler start fail
82
ed: java.net.BindException: Cannot assign requested address: JVM_Bind<null>:8181
83![]()
84
at org.apache.catalina.connector.Connector.start(Connector.java:1138)
85
at org.apache.catalina.core.StandardService.start(StandardService.java:5
86
31)
87
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
88
)
89
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
90
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
91
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
92
java:39)
93
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
94
sorImpl.java:25)
95
at java.lang.reflect.Method.invoke(Method.java:597)
96
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
97
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
98
2010-9-3 22:55:37 org.apache.catalina.startup.Catalina start
99
信息: Server startup in 1405 ms
100
2010-9-3 22:55:37 org.apache.catalina.core.StandardServer await
101
严重: StandardServer.await: create[8005]:
102
java.net.BindException: Cannot assign requested address: JVM_Bind
103
at java.net.PlainSocketImpl.socketBind(Native Method)
104
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
105
at java.net.ServerSocket.bind(ServerSocket.java:319)
106
at java.net.ServerSocket.<init>(ServerSocket.java:185)
107
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373
108
)
109
at org.apache.catalina.startup.Catalina.await(Catalina.java:642)
110
at org.apache.catalina.startup.Catalina.start(Catalina.java:602)
111
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
112
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
113
java:39)
114
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
115
sorImpl.java:25)
116
at java.lang.reflect.Method.invoke(Method.java:597)
117
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
118
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
119
java.util.logging.ErrorManager: 1
120
java.lang.NullPointerException
121
at org.apache.juli.FileHandler.publish(FileHandler.java:137)
122
at java.util.logging.Logger.log(Logger.java:458)
123
at java.util.logging.Logger.doLog(Logger.java:480)
124
at java.util.logging.Logger.logp(Logger.java:596)
125
at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:165)
126
at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:115)
127
at org.apache.coyote.http11.Http11Protocol.pause(Http11Protocol.java:220
128
)
129
at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
130
at org.apache.catalina.core.StandardService.stop(StandardService.java:56
131
3)
132
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
133![]()
134
at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
135
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalin
136
a.java:671)
137
2010-9-3 22:55:37 org.apache.coyote.http11.Http11Protocol pause
138
信息: Pausing Coyote HTTP/1.1 on http-8181
139
2010-9-3 22:55:37 org.apache.catalina.connector.Connector pause
140
严重: Protocol handler pause failed
141
java.lang.NullPointerException
142
at org.apache.jk.server.JkMain.pause(JkMain.java:679)
143
at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
144
at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
145
at org.apache.catalina.core.StandardService.stop(StandardService.java:56
146
3)
147
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
148![]()
149
at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
150
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalin
151
a.java:671)
152
2010-9-3 22:55:38 org.apache.catalina.core.StandardService stop
153
信息: Stopping service Catalina
154
2010-9-3 22:55:38 org.apache.catalina.connector.MapperListener destroy
155
警告: Error unregistering MBeanServerDelegate
156
java.lang.NullPointerException
157
at org.apache.catalina.connector.MapperListener.destroy(MapperListener.j
158
ava:165)
159
at org.apache.catalina.connector.Connector.stop(Connector.java:1179)
160
at org.apache.catalina.core.StandardService.stop(StandardService.java:59
161
3)
162
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
163![]()
164
at org.apache.catalina.startup.Catalina.stop(Catalina.java:628)
165
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalin
166
a.java:671)
167
2010-9-3 22:55:38 org.apache.coyote.http11.Http11Protocol destroy
168
信息: Stopping Coyote HTTP/1.1 on http-8181
169
2010-9-3 22:55:38 org.apache.catalina.connector.Connector stop
170
严重: Coyote connector has not been started
171
从网上得到的方法就是,端口被占用。在命令行中键入netstat -nao 找出端口为8181的进程的PID。但这里既然可以在myeclipse中启动,当然不是端口被占用的原因。那么到底是什么呢?
从错误代码中看到,java虚拟机绑定失败的地址竟是"<null>",是不是什么设置改变了要连接的地址?偶然在网上看到说瑞星防火墙可能会阻止一些进程。所以就急切的把防火墙停止保护,在命令行中打入"tomcat6",正常启动。当时真是又喜又恨。其实瑞星防火墙中的访问控制选项卡中有对所有程序的控制规则,因为设置了自动识别,所以瑞星防火墙自动把tomcat6服务的连接网络给阻止了。这里你可以把"选项"中的"程序连接网络被拒绝时提示用户"就可以进一步验证。
那么解决的方式就是关掉“瑞星防火墙”或者生气卸载掉了。当然如果你不想关掉,可能其中有对访问控制具体的设置我没有去试验,大家可以一试。
总而言之,绑定的exception未必就是端口已被用。还是应该注意读错误代码的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
从网上得到的方法就是,端口被占用。在命令行中键入netstat -nao 找出端口为8181的进程的PID。但这里既然可以在myeclipse中启动,当然不是端口被占用的原因。那么到底是什么呢?
从错误代码中看到,java虚拟机绑定失败的地址竟是"<null>",是不是什么设置改变了要连接的地址?偶然在网上看到说瑞星防火墙可能会阻止一些进程。所以就急切的把防火墙停止保护,在命令行中打入"tomcat6",正常启动。当时真是又喜又恨。其实瑞星防火墙中的访问控制选项卡中有对所有程序的控制规则,因为设置了自动识别,所以瑞星防火墙自动把tomcat6服务的连接网络给阻止了。这里你可以把"选项"中的"程序连接网络被拒绝时提示用户"就可以进一步验证。
那么解决的方式就是关掉“瑞星防火墙”或者生气卸载掉了。当然如果你不想关掉,可能其中有对访问控制具体的设置我没有去试验,大家可以一试。
总而言之,绑定的exception未必就是端口已被用。还是应该注意读错误代码的。