久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

如果從jar運行,則具有嵌入式碼頭的Spring應用程序找不到webdefault.xml

瀏覽:137日期:2024-05-14 14:54:34
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決如果從jar運行,則具有嵌入式碼頭的Spring應用程序找不到webdefault.xml?

我遇到了類似的問題,并通過以下主類實現解決了這個問題:

private static final int PORT = 8080;private static final String WAR_LOCATION = 'src/webapps'; //in your case I guessprivate static final String CONTEXT_PATH = '/movence'; //change it if you wantpublic static void main(String[] args) throws Exception { Server server = new Server(); WebAppContext context = new WebAppContext(); SocketConnector connector = new SocketConnector(); setupConnector(connector); setupContext(server, context); setupServer(server, context, connector); startServer(server);}private static void startServer(Server server) throws Exception, InterruptedException { server.start(); server.join();}private static void setupServer(Server server, WebAppContext context, SocketConnector connector) { server.setConnectors(new Connector[] { connector }); server.addHandler(context);}private static void setupConnector(SocketConnector connector) { connector.setPort(PORT);}private static void setupContext(Server server, WebAppContext context) { context.setServer(server); context.setcontextpath(CONTEXT_PATH); context.setWar(WAR_LOCATION);}解決方法

我有使用嵌入式Jetty實例的spring應用程序。

project | src | controller | webapps | jsp | WEB-INF | web.xml | applicationContext.xml | spring-servlet.xml

我的jar有相同的樹形結構,但我不斷

d:test>java -jar springtest.jar2011-11-22 15:37:02.576:INFO::jetty-7.x.y-SNAPSHOT2011-11-22 15:37:02.686:WARN::Failed startup of context o.e.j.w.WebAppContext{/,[file:/C:/Users/me/AppData/Local/Temp/jetty-0.0.0.0-8080-webapps-_-any-/webinf/,jar:file:/d:/test/springtest.jar!/org/jcvi/webapps/]}java.io.FileNotFoundException: d:testorgeclipsejettywebappwebdefault.xml (The system cannot findthe path specified)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.<init>(FileInputStream.java:106)at java.io.FileInputStream.<init>(FileInputStream.java:66)at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653)at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:772)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:188)at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:204)at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:60)at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:140)at org.eclipse.jetty.webapp.MetaData.setDefaults(MetaData.java:141)at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:46)at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:412)at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)at org.eclipse.jetty.server.Server.doStart(Server.java:258)at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)at org.jcvi.ServerRunner.startServer(ServerRunner.java:83)at org.jcvi.MainServer.main(MainServer.java:18)2011-11-22 15:37:02.748:INFO::Started SelectChannelConnector@0.0.0.0:8080 STARTING

我有以下運行碼頭服務器實例的Java類

String webDir = this.getClass().getClassLoader().getResource('webapps').toExternalForm();Server server = new Server(8080);WebAppContext context = new WebAppContext();context.setContextPath('/');context.setResourceBase(webDir);context.setParentLoaderPriority(true);HandlerList handlers = new HandlerList();handlers.setHandlers(new Handler[] { context,new DefaultHandler() });server.setHandler(context);server.start();

我的web.xml看起來像

<welcome-file-list><welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener><listener-class> org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet><servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class><load-on-startup>2</load-on-startup> </servlet> <servlet-mapping><servlet-name>spring</servlet-name><url-pattern>/</url-pattern> </servlet-mapping>

如果我在IDE中運行,此應用程序運行良好,但JAR失敗。我該如何解決此問題,這樣我才能擁有其中包含Web應用程序的單個jar文件?

標簽: web
主站蜘蛛池模板: 台中市| 金堂县| 喜德县| 正宁县| 锡林浩特市| 安阳市| 上思县| 云霄县| 武安市| 余江县| 巴林右旗| 厦门市| 静海县| 泽库县| 会同县| 郓城县| 榆中县| 忻城县| 宝坻区| 阿尔山市| 兴安盟| 怀化市| 夹江县| 社会| 德兴市| 思茅市| 本溪市| 新干县| 广东省| 陇南市| 镇康县| 武鸣县| 盈江县| 贵溪市| 外汇| 阿克苏市| 福贡县| 邹城市| 法库县| 印江| 乌兰县|