2017-10-09 60 views
2

我跟着官方教程http://struts.apache.org/getting-started/how-to-create-a-struts2-web-application.html。但是當我運行webapp時,總是會拋出異常。我嘗試了很多次,但是我真的不知道如何重新使用它。爲什麼我不能在jdk9中運行struts2.5.13 win10

這裏是例外

java.nio.file.InvalidPathException: Illegal char <:> at index 3: jar:file:\D:\.m2\repository\org\apache\struts\struts2-core\2.5.13\struts2-core-2.5.13.jar 
at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) 
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) 
at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) 
at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) 
at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229) 
at java.base/java.io.File.toPath(File.java:2300) 
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:951) 
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:216) 
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:148) 
at java.base/java.util.jar.JarFile.<init>(JarFile.java:324) 
at java.base/java.util.jar.JarFile.<init>(JarFile.java:295) 
at java.base/java.util.jar.JarFile.<init>(JarFile.java:234) 
at com.opensymphony.xwork2.util.fs.JarEntryRevision.needsReloading(JarEntryRevision.java:73) 
at com.opensymphony.xwork2.util.fs.DefaultFileManager.fileNeedsReloading(DefaultFileManager.java:62) 
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:425) 
at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:163) 
at com.opensymphony.xwork2.config.ConfigurationManager.needReloadContainerProviders(ConfigurationManager.java:208) 
at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:174) 
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69) 
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:960) 
at org.apache.struts2.dispatcher.ExecuteOperations.executeStaticResourceRequest(ExecuteOperations.java:59) 
at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:130) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) 
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
at org.eclipse.jetty.server.Server.handle(Server.java:370) 
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) 
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) 
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) 
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
at java.base/java.lang.Thread.run(Thread.java:844) 

Exception picture

+0

對我來說,url'jar:file:\ D:\。m2 \'.....是不正確的。 –

+0

似乎你有錯誤的網址。 –

+0

@史密斯請你分享你的項目的pom.xml。 – nullpointer

回答

0

路徑

D:\.m2\repository... 

正如下面艾倫·貝特曼指出,前取出jar:file:\,它需要一個文件路徑,而不是URI。

+2

也刪除'file:'前綴,JarFile構造函數接受文件路徑而不是URI。 –

+0

是的 - 我的錯誤。答案已更新。 – notyou

+0

但我不知道如何刪除它。當我運行命令'mvn jetty:run'時,maven會自動完成它。 –

相關問題