TomEE 启动但 Netbeans 给出 "Failed to start" 错误
TomEE starts but Netbeans gives "Failed to start" error
我正在使用 NetBeans 8.0.2(也在最新的每晚构建中尝试过)并尝试在端口 8084 上启动 TomEE Plume 服务器(也在不同的端口上尝试过)。服务器启动并工作正常,但 NetBeans 认为它没有启动,并且在等待大约 2 分钟 ("Waiting for Tomcat") 后抛出错误 window "Tomcat failed to start" 或类似的错误。
有和我类似的问题,不同的是我完全没有错误,只有 "Tomcat failed to start" window,所以我什至不能把日志放在这里,因为它没有说任何有用的东西。此外,可用的解决方案对我不起作用。
我认为 NetBeans 和 TomEE 之间存在一些通信问题,而且我几乎可以肯定问题出在 NetBeans 中,因为 TomEE 运行良好并且可以正常启动,localhost:8084 给我 Tomcat尽管 NetBeans 认为它无法启动。由于某种原因,TomEE 在启动后没有向 NetBeans 发送确认的可能性很小,但我真的不知道如何检查。
我调查了同样的问题,两个最常见的问题是“'127.0.0.1*' 未被识别为内部或外部命令”,我也遇到了同样的问题。建议的解决方案是在工具选项中选择 "No proxy",但它对我没有帮助。
此外,为了确定,我编辑了 catalina.bat
文件并检查了我的用户权限 roles="admin-gui,manager-gui,admin,manager-script"
。
我希望有人遇到过同样的问题。另外,我想知道这个问题是否可以解决。谢谢
在 server.xml 中,从连接器中删除 xpoweredBy 和服务器属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" xpoweredBy="false"
server="Apache TomEE" />
NetBeans 8.0.2 在 TomEE+ 1.7.1 上运行良好,但后来我从 TomEE+ 1.7.1 升级到 1.7.2,在NetBeans 8.0.2中的Services > Servers中添加了TomEE+ 1.7.2,这时候我在 运行 最新打补丁的 NetBeans 8.0.2 和 TomEE+ 1.7.2 时遇到了 'Failed to start' 错误。
在 server.xml 中,我有以下内容:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" connectionTimeout="20000" acceptorThreadCount="2"
redirectPort="8443" socket.directBuffer="false"/>
我试图修改 连接器 ,但这并没有解决问题。
我的解决方法是在服务器属性的平台选项卡上取消选中使用IDE代理设置复选框Apache TomEE+ 1.7.2。见下文。
今天遇到同样的情况,想从TomEE1.7.0升级到1.7 .2 并基于 Mugi4ok 的问题以及 Howard 和 Steve的答案(因为你们都对,但问题的根源还是在系统上)我对上述情况做了更深入的分析,终于找到了根源。
新 TomEE 版本 (1.7.2)
中存在两个不同的问题
- 当您在 NetBeans 中启动调试或 运行 会话时,您会立即收到消息:系统无法将给定名称 (127.0.0.1*) 识别为命令 ...
- 另一个在部署过程结束时引发 运行ning 情况
我们来看第一种情况。因为它是在 run/debug 过程的最开始生成的,所以我首先检查了 catalina.bat 脚本,因为它首先被调用。我比较了来自 TomEE 1.7.0 和 1.7.2 的两个版本。而且这个问题几乎是微不足道的。
TomEE 在脚本中更改了两行:
在 1.7.0 中是这样的:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
但在 1.7.2 中他们用引号括起来:
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
如果 JAVA_OPTS 环境变量也包含引号,那将是一个很大的变化。如果使用 NetBeans 并且我们使用 nonProxyHosts 设置并且我们在 TomEE 服务器的平台设置中打开了 "Use IDE Proxy settings" 复选框,我们将在 JAVA_OPTS 中有类似的东西(我刚刚提取了相关值我们的案例当然还有许多其他参数):
-Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10.*"
如果您仔细查看第一个引号并查看第一个竖线字符,您已经知道会发生什么:-)
只需将此命令写入shell并尝试执行:
set "JAVA_OPTS=-Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10*"
第一个管道字符将按原样运行,因此命令 shell 将尝试将以下字符串解释为命令,但 127.0.0.1* 不是命令。
所以我建议的解决方案是删除新版本中的额外引号,就像在以前的版本中一样。它们在第 179 和 184 行,简单的问题就会消失,您根本不需要取消代理设置,您可以根据需要使用它们。在这种情况下,您也不需要关闭代理设置开关。如果你想依赖 NetBeans 代理设置,你可以做这个小修改。
部署超时的第二种情况 这对我来说非常奇怪,只有 Steve 的回答帮助了我 所以谢谢.
总结如果你在任何开源系统的新版本中看到一些错误,首先检查修改并尝试逐步找到哪个。在这种情况下,这解决了所有问题。
我希望 TomEE 也能认识到这一点并在下一个版本中尽快修复它们,或者他们为它创建一个补丁。
如果在 Netbeans 中添加新服务器时只有一条消息 "Failed to Start" 8.X ->
转到
Servers> (select your server added) > plataform > "used ide proxy
settings"
解开"used ide proxy settings"
我会在首选项下检查 netbeans 中的代理设置为 "No Proxy" 而不是 "Use System Proxy Settings"。
对我有用。
在 tomcat 8.5.11 和 Netbeans 8.1 中,我必须更改此设置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
为此:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" xpoweredBy="false" server="Apache-Coyote/1.1"
redirectPort="8443" />
在 server.xml 文件中。
我正在使用 NetBeans 8.0.2(也在最新的每晚构建中尝试过)并尝试在端口 8084 上启动 TomEE Plume 服务器(也在不同的端口上尝试过)。服务器启动并工作正常,但 NetBeans 认为它没有启动,并且在等待大约 2 分钟 ("Waiting for Tomcat") 后抛出错误 window "Tomcat failed to start" 或类似的错误。
有和我类似的问题,不同的是我完全没有错误,只有 "Tomcat failed to start" window,所以我什至不能把日志放在这里,因为它没有说任何有用的东西。此外,可用的解决方案对我不起作用。
我认为 NetBeans 和 TomEE 之间存在一些通信问题,而且我几乎可以肯定问题出在 NetBeans 中,因为 TomEE 运行良好并且可以正常启动,localhost:8084 给我 Tomcat尽管 NetBeans 认为它无法启动。由于某种原因,TomEE 在启动后没有向 NetBeans 发送确认的可能性很小,但我真的不知道如何检查。
我调查了同样的问题,两个最常见的问题是“'127.0.0.1*' 未被识别为内部或外部命令”,我也遇到了同样的问题。建议的解决方案是在工具选项中选择 "No proxy",但它对我没有帮助。
此外,为了确定,我编辑了 catalina.bat
文件并检查了我的用户权限 roles="admin-gui,manager-gui,admin,manager-script"
。
我希望有人遇到过同样的问题。另外,我想知道这个问题是否可以解决。谢谢
在 server.xml 中,从连接器中删除 xpoweredBy 和服务器属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" xpoweredBy="false"
server="Apache TomEE" />
NetBeans 8.0.2 在 TomEE+ 1.7.1 上运行良好,但后来我从 TomEE+ 1.7.1 升级到 1.7.2,在NetBeans 8.0.2中的Services > Servers中添加了TomEE+ 1.7.2,这时候我在 运行 最新打补丁的 NetBeans 8.0.2 和 TomEE+ 1.7.2 时遇到了 'Failed to start' 错误。
在 server.xml 中,我有以下内容:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" connectionTimeout="20000" acceptorThreadCount="2"
redirectPort="8443" socket.directBuffer="false"/>
我试图修改 连接器 ,但这并没有解决问题。
我的解决方法是在服务器属性的平台选项卡上取消选中使用IDE代理设置复选框Apache TomEE+ 1.7.2。见下文。
今天遇到同样的情况,想从TomEE1.7.0升级到1.7 .2 并基于 Mugi4ok 的问题以及 Howard 和 Steve的答案(因为你们都对,但问题的根源还是在系统上)我对上述情况做了更深入的分析,终于找到了根源。
新 TomEE 版本 (1.7.2)
中存在两个不同的问题- 当您在 NetBeans 中启动调试或 运行 会话时,您会立即收到消息:系统无法将给定名称 (127.0.0.1*) 识别为命令 ...
- 另一个在部署过程结束时引发 运行ning 情况
我们来看第一种情况。因为它是在 run/debug 过程的最开始生成的,所以我首先检查了 catalina.bat 脚本,因为它首先被调用。我比较了来自 TomEE 1.7.0 和 1.7.2 的两个版本。而且这个问题几乎是微不足道的。
TomEE 在脚本中更改了两行:
在 1.7.0 中是这样的:
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
但在 1.7.2 中他们用引号括起来:
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
如果 JAVA_OPTS 环境变量也包含引号,那将是一个很大的变化。如果使用 NetBeans 并且我们使用 nonProxyHosts 设置并且我们在 TomEE 服务器的平台设置中打开了 "Use IDE Proxy settings" 复选框,我们将在 JAVA_OPTS 中有类似的东西(我刚刚提取了相关值我们的案例当然还有许多其他参数):
-Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10.*"
如果您仔细查看第一个引号并查看第一个竖线字符,您已经知道会发生什么:-)
只需将此命令写入shell并尝试执行:
set "JAVA_OPTS=-Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10*"
第一个管道字符将按原样运行,因此命令 shell 将尝试将以下字符串解释为命令,但 127.0.0.1* 不是命令。
所以我建议的解决方案是删除新版本中的额外引号,就像在以前的版本中一样。它们在第 179 和 184 行,简单的问题就会消失,您根本不需要取消代理设置,您可以根据需要使用它们。在这种情况下,您也不需要关闭代理设置开关。如果你想依赖 NetBeans 代理设置,你可以做这个小修改。
部署超时的第二种情况 这对我来说非常奇怪,只有 Steve 的回答帮助了我 所以谢谢.
总结如果你在任何开源系统的新版本中看到一些错误,首先检查修改并尝试逐步找到哪个。在这种情况下,这解决了所有问题。
我希望 TomEE 也能认识到这一点并在下一个版本中尽快修复它们,或者他们为它创建一个补丁。
如果在 Netbeans 中添加新服务器时只有一条消息 "Failed to Start" 8.X -> 转到
Servers> (select your server added) > plataform > "used ide proxy settings"
解开"used ide proxy settings"
我会在首选项下检查 netbeans 中的代理设置为 "No Proxy" 而不是 "Use System Proxy Settings"。
对我有用。
在 tomcat 8.5.11 和 Netbeans 8.1 中,我必须更改此设置:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
为此:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" xpoweredBy="false" server="Apache-Coyote/1.1"
redirectPort="8443" />
在 server.xml 文件中。