FreeBSD 8.2 上的 Tomcat 7 在 catalina.log 中抛出了以下错误。
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Can't assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:422
)
at org.apache.catalina.startup.Catalina.await(Catalina.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:654)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
我尝试通过 rc.conf 传递“-Djava.net.preferIPv4Stack=true”标志,以防万一它与编译的 IPv6 支持有关(这是我迄今为止在网上搜索到的唯一线索)。我还应该检查什么?
答案1
添加:
tomcat7_java_opts="-Djava.net.preferIPv4Stack=true"
/etc/rc.conf 文件现在正常工作了。我肯定是第一次输入错误了,或者是其他随机错误,因为之前它不起作用,但现在可以了……