java - 以本地用户启动Tomcat导致JVM_Bind异常

标签 java windows tomcat

我有一个 tomcat 服务,它可以使用本地系统帐户正常启动,但是当我将其切换为以本地用户身份登录时,我遇到了 JVM_Bind 异常。该服务启动然后关闭。

关闭端口似乎已被其他服务使用。我可以更改 tomcat 服务以使用不同的关闭端口,但我想了解为什么它使用系统帐户启动正常并提示用户帐户的关闭端口。

06-Jun-2017 15:46:13.801 SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:10006]: 
 java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
    at java.net.ServerSocket.bind(ServerSocket.java:375)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:420)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:713)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:659)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

最佳答案

发现一个服务正在监听无效地址,而Tomcat服务正在监听环回地址。

根据 https://msdn.microsoft.com/en-us/library/windows/desktop/ms740621(v=vs.85).aspx

如果两个应用程序都在同一个用户上下文中,那么如果其中一个应用程序使用无效地址,则两个应用程序都可以绑定(bind)到同一个端口。 (0.0.0.0)

如果两个应用程序都在不同的用户上下文中,那么我们会得到异常。

关于java - 以本地用户启动Tomcat导致JVM_Bind异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400047/

相关文章:

windows - 在没有 SSH 的情况下设置 Git

security - 将客户端证书的 DN 传递给 Tomcat 中已部署的应用程序

java - 将多个网页的抓取数据合并到单个页面中

Java 持久实体最佳实践

java - 只能添加JLabel背景或JPanel背景

windows - Docker PostgreSQL:无法连接到Windows 7上的服务器

java - 在 vector 类中加载 vector (Java)

java - 在Java中使用cmd复制文件的问题

java - 在Tomcat中创建mssql数据库jndi资源时出现异常

jsp - 如何让 glassfish 显示 JSP 的调试信息?