Jetty服务器远程启动时出现异常-java.net.BindException:无法分配请求的地址:bind
我对Jetty和Servlet相当陌生。抱歉,如果这听起来很基本。我使用的是jetty 6.1.22、jetty-util-6.1.22和Selenium 2.0b2。 我试图在代码中配置selenium服务器,以避免手动启动selenium 远程主机上的服务器。wiki[1]指出,理论上,这个过程就像将DriverServlet映射到URL一样简单, 但也可以将页面托管在轻量级容器中,例如完全用代码配置的Jetty [第1版] 这里是我到目前为止所拥有的,基本上是RemoteWebDriverServer wiki[1]的代码副本 如果我像下面这样设置远程主机,我会得到绑定异常Jetty服务器远程启动时出现异常-java.net.BindException:无法分配请求的地址:bind,jetty,webdriver,Jetty,Webdriver,我对Jetty和Servlet相当陌生。抱歉,如果这听起来很基本。我使用的是jetty 6.1.22、jetty-util-6.1.22和Selenium 2.0b2。 我试图在代码中配置selenium服务器,以避免手动启动selenium 远程主机上的服务器。wiki[1]指出,理论上,这个过程就像将DriverServlet映射到URL一样简单, 但也可以将页面托管在轻量级容器中,例如完全用代码配置的Jetty [第1版] 这里是我到目前为止所拥有的,基本上是RemoteWebDriver
public AppServer() throws Exception {
try {
WebAppContext context = new WebAppContext();
context.setContextPath("");
context.setWar(".");
server.addHandler(context);
context.addServlet(DriverServlet.class, "/wd/*");
SelectChannelConnector connector = new SelectChannelConnector();
connector.setHost("MyRemoteHostIPAddress");
connector.setPort(4444);
server.addConnector(connector);
server.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception{
new AppServer();
}
}
这是堆栈跟踪
2011-06-06 14:39:02.618:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2011-06-06 14:39:02.633:INFO::jetty-6.1.22
2011-06-06 14:39:02.977:WARN::failed SelectChannelConnector@MyRemoteHostIPAddress:4444: java.net.BindException: Cannot assign requested address: bind
2011-06-06 14:39:02.977:WARN::failed Server@b61fd1: java.net.BindException: Cannot assign requested address: bind
Exception in thread "main" java.net.BindException: Cannot assign requested address: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at AppServer.main(AppServer.java:31)
[编辑二]
请忽略我下面的前两条评论。我编辑了这个问题
是否有我遗漏或做得不正确的地方
谢谢,
-尼利斯
[1]http://code.google.com/p/selenium/wiki/RemoteWebDriverServer我认为,问题在于:
connector.setHost("MyRemoteHostIPAddress");
尝试将MyRemoteHostIPAddress替换为localhost或direct IP。请忽略我之前发布的第二个异常,我已修复该异常。结果是我的代码中有一个bug。因此,当我在远程主机上通过本地代码运行start the jetty server时,我实际上是在从本地计算机连接到URL,而不是。在此更改之后,测试工作正常。我现在唯一的问题是——如何从本地机器远程启动服务器。跟随似乎仍然是一个问题。任何人connector.setHostMyRemoteHostIPAddress;connector.setPort3002;这是使用connector.setHostMyRemoteHostIPAddress时堆栈跟踪的一部分;SelectChannelConnector@MyRemoteHostIPAddress:3002:java.net.BindException:无法分配请求的地址:绑定失败Server@b61fd1:java.net.BindException:无法分配请求的地址:bind