我正在使用NetBeans 8.0.2(也是在最新的每晚版本中尝试过)并尝试在端口8084上启动TomEE Plume服务器(也尝试在不同的端口上)。服务器启动并正常工作,但NetBeans认为它没有启动,等待大约2分钟后(“等待Tomcat”)抛出一个错误窗口“Tomcat无法启动”或类似的东西。
有类似于我的问题,区别在于我完全没有错误,只有“Tomcat无法启动”窗口,因此我甚至无法将日志放在此处,因为它没有任何用处。此外,可用的解决方案对我不起作用。
我相信NetBeans和TomEE之间存在一些通信问题,我也几乎肯定问题出现在NetBeans中,因为TomEE运行良好并且应该启动,localhost:8084虽然NetBeans认为它无法启动,但它仍然给我Tomcat页面。由于某些原因,TomEE在启动后没有向NetBeans发送确认信息,但我真的不知道如何检查它。
我已经研究了同样的问题,两个最常见的问题是“'127.0.0.1 *'未被识别为内部或外部命令”而且我也一样。建议的解决方案是在工具选项中选择“无代理”,但它对我没有帮助。
另外,为了确定,我已经编辑了catalina.bat
文件,并检查了roles="admin-gui,manager-gui,admin,manager-script"
的用户权限。
我希望有人遇到同样的问题。另外,我想知道这个问题是否可以解决。感谢。
答案 0 :(得分:25)
在server.xml中,从连接器中删除xpoweredBy和server属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" xpoweredBy="false"
server="Apache TomEE" />
答案 1 :(得分:14)
NetBeans 8.0.2 与 TomEE + 1.7.1 配合良好,但之后我从TomEE + 1.7.1升级到 1.7.2 ,在服务&gt;中添加TomEE + 1.7.2 NetBeans 8.0.2中的服务器,当我在运行最新修补的NetBeans 8.0.2和TomEE + 1.7.2时遇到“无法启动”错误时。
在server.xml中,我有以下内容:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" connectionTimeout="20000" acceptorThreadCount="2"
redirectPort="8443" socket.directBuffer="false"/>
我尝试修改连接器,但这并没有解决问题。
我的修复方法是取消选中Apache TomEE + 1.7.2的服务器属性的平台标签上的使用IDE代理设置复选框。见下文。
答案 2 :(得分:7)
我会将首选项下的netbeans中的代理设置检查为“No Proxy”而不是“Use System Proxy Settings”。
为我工作。
答案 3 :(得分:4)
今天,当我想从 TomEE 1.7.0 升级到 1.7.2 并基于<时,我遇到了同样的情况strong> Mugi4ok 的问题和 Howard 以及 Steve 的答案(因为你们所有人都是对的,但是问题的根源仍然存在于系统中)我对上述情况进行了更深入的分析,最后我找到了它的根源。
新TomEE版本(1.7.2)中存在两个不同的问题
让我们看第一个案例。因为它是在运行/调试过程的最开始生成的,所以我首先检查了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设置,我们已经打开了&#34;使用IDE代理设置&#34;在TomEE服务器的平台设置中的复选框我们将在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代理设置,可以使用这个小修改。
在部署中产生超时的第二种情况对我来说非常奇怪,只有史蒂夫的回答帮助我所以非常感谢。
总结如果您发现任何开源系统的新版本中存在一些错误,请首先检查修改并尝试逐步找到后面的内容。在这种情况下,这解决了一切。
我希望TomEE也会认识到这一点,并在下一个版本中尽快修复它们,或者为它们创建一个补丁。
答案 4 :(得分:4)
在使用Netbeans 8.1的tomcat 8.5.11中,我不得不改变它:
<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文件中。
答案 5 :(得分:2)
如果在Netbeans 8.X中添加新服务器时只有“无法启动”消息 - > 转到
服务器&GT; (选择您添加的服务器)&gt; plataform&gt; “使用ide代理 设置“
Unckeck“使用了ide代理设置”