Jetty在加载war时出现超时异常

Jetty在加载war时出现超时异常,jetty,embedded-jetty,Jetty,Embedded Jetty,这是一个非常基本的例子。 我想使用jetty加载web应用程序,如下所示 public static void main(String[] args) throws Exception { Server server = new Server(8085); WebAppContext webapp = new WebAppContext( "D:/workspace/camel/TestWithGradle/src/main/java/sample.war" , "sam

这是一个非常基本的例子。 我想使用jetty加载web应用程序,如下所示

public static void main(String[] args) throws Exception {
    Server server = new Server(8085);    
    WebAppContext webapp = new WebAppContext( "D:/workspace/camel/TestWithGradle/src/main/java/sample.war" , "sample");
    webapp.setExtractWAR(true);
    webapp.setParentLoaderPriority(true);


    server.setHandler(webapp);
    server.start();
    server.join();
}
战争是 使用jsp文件和Javaservlet的war非常简单

但是,我运行这个应用程序时,控制台出现了异常

2014-11-24 23:52:49.528:INFO::main: Logging initialized @333ms
2014-11-24 23:52:49.689:INFO:oejs.Server:main: jetty-9.1.5.v20140505
2014-11-24 23:53:11.779:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@364de63{sample,file:/C:/Users/SDS/AppData/Local/Temp/jetty-0.0.0.0-8085-sample.war-sample-any-853618354381316480.dir/webapp/,null}{D:/workspace/camel/TestWithGradle/src/main/java/sample.war}
java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:637)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1290)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1257)
    at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:263)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1164)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1050)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:964)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
    at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:246)
    at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:67)
    at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:204)
    at org.eclipse.jetty.webapp.MetaData.setWebXml(MetaData.java:192)
    at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:60)
    at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:460)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:125)
    at org.eclipse.jetty.server.Server.start(Server.java:358)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:107)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
    at org.eclipse.jetty.server.Server.doStart(Server.java:325)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at TestServer.main(TestServer.java:21)
2014-11-24 23:53:11.874:INFO:oejs.ServerConnector:main: Started ServerConnector@5054a835{HTTP/1.1}{0.0.0.0:8085}
2014-11-24 23:53:11.875:INFO:oejs.Server:main: Started @22829ms
2014-11-24 23:52:49.528:INFO::main:Logging initialized@333ms
2014-11-24 23:52:49.689:信息:oejs.服务器:main:jetty-9.1.5.v20140505
2014-11-24 23:53:11.779:警告:oejw.WebAppContext:main:上下文o.e.j.w.启动失败。WebAppContext@364de63{sample,file:/C:/Users/SDS/AppData/Local/Temp/jetty-0.0.0-8085-sample.war-sample-any-853618354381316480.dir/webapp/,null}{D:/workspace/camel/TestWithGradle/src/main/java/sample.war}
java.net.ConnectException:连接超时:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
位于java.net.socksocketimpl.connect(socksocketimpl.java:392)
位于java.net.Socket.connect(Socket.java:579)
位于java.net.Socket.connect(Socket.java:528)
位于sun.net.NetworkClient.doConnect(NetworkClient.java:180)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
http.HttpClient.(HttpClient.java:211)
http.HttpClient.New(HttpClient.java:308)
http.HttpClient.New(HttpClient.java:326)
位于sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
http.HttpURLConnection.connect(HttpURLConnection.java:850)
位于sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
在com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:637)
位于com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startenty(XMLEntityManager.java:1290)
位于com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startdentity(XMLEntityManager.java:1257)
位于com.sun.org.apache.xerces.internal.impl.xmldtddscannerimpl.setInputSource(xmldtddscannerimpl.java:263)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1164)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1050)
在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:964)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next上(XMLNSDocumentScannerImpl.java:117)
位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
位于com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
位于com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser.parse(saxpasserimpl.java:649)
在com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)上
位于org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:246)
位于org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:67)
位于org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:204)
位于org.eclipse.jetty.webapp.MetaData.setWebXml(MetaData.java:192)
位于org.eclipse.jetty.webapp.WebXmlConfiguration.preconfiguration(WebXmlConfiguration.java:60)
位于org.eclipse.jetty.webapp.WebAppContext.preconfig(WebAppContext.java:460)
位于org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
在org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:125)上
位于org.eclipse.jetty.server.server.start(server.java:358)
位于org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:107)
位于org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
位于org.eclipse.jetty.server.server.doStart(server.java:325)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
位于TestServer.main(TestServer.java:21)
2014-11-24 23:53:11.874:信息:oejs.ServerConnector:main:已启动ServerConnector@5054a835{HTTP/1.1}{0.0.0.0:8085}
2014-11-24 23:53:11.875:信息:oejs.服务器:main:Started@22829ms

请帮我详细解释一下。感谢您的阅读和时间。

您有一个带有错误DTD或命名空间声明的XML

启动程序正在尝试从远程URL获取某种资源,用于验证XML

正常jetty分布或正常jetty jar工件不会发生这种情况

首先要确保你使用的是正式的jetty罐子,不要重新包装,不要用uberjar,不要用一个罐子,别管它们(现在)

然后确保在各种XML文件中没有输入错误。尤其是在war文件中,以及
WEB-INF/lib/*.jar
文件的所有内容中。可能有一个小的输入错误或引用是inco