java.net.URISyntaxException: Illegal character in path at index 18
scalateを試そうとしたところ、
mvn jetty:run
で下記のエラーが出ました。
[INFO] Starting jetty 7.1.5.v20100705 ...
2010-10-07 22:02:56.328:INFO::jetty-7.1.5.v20100705
2010-10-07 22:02:56.343:WARN::Failed startup of context JettyWebAppContext@14c02d4@14c02d4/,file:/E:/tools/development/Scala/scalate/scalate-distro-1.2-windows-bin/scalate-test/myArtifact/src/main/webapp/,file:/E:/tools/development/Scala/scalate/scalate-distro-1.2-windows-bin/scalate-test/myArtifact/src/main/webapp/
java.net.URISyntaxException: Illegal character in path at index 18: file:/C:/Documents and Settings/XXX/.m2/repository/org/mortbay/jetty/jetty-maven-plugin/7.1.5.v20100705/jetty-maven-plugin-7.1.5.v20100705.jar
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parseHierarchical(URI.java:3066)
at java.net.URI$Parser.parse(URI.java:3014)
at java.net.URI.(URI.java:578)
at java.net.URL.toURI(URL.java:918)
at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:81)
at org.mortbay.jetty.plugin.MavenWebInfConfiguration.preConfigure(MavenWebInfConfiguration.java:145)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:378)
at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:114)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:162)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
at org.eclipse.jetty.server.Server.doStart(Server.java:242)
at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:437)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:377)
at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:577)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
2010-10-07 22:02:56.437:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
ちなみに環境はWindows XP SP3。
Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
Java version: 1.6.0_14。
怪しそうな下記メッセージで検索。
java.net.URISyntaxException: Illegal character in path at index 18
でヒットしたのがこちら。
Re: java.net.URISyntaxException: Illegal character in path at index 18
Path to your maven repo (and therefore to your jar) has spaces
included, this might brake some things.
maven repo(jarを入れるところ)のパスにスペースが入っているよ、
何かおかしくなると思う。
とのこと。
で、こちらを見てrepoを修正。
setting.xmlのlocalRepositoryを下記のように書き換えました。
C:\hoge\repository
この場合、C:\hoge\repositoryにダウンロードしてきたライブラリが配置されます。
再度。
mvn jetty:run
で今度はエラーなくjettyが起動しました。