You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@artemis.apache.org by "Justin Bertram (Jira)" <ji...@apache.org> on 2026/05/28 15:48:00 UTC

[jira] [Updated] (ARTEMIS-6084) Windows: Web console fails to start in Artemis 2.54.0 with InvalidPathException (/C:/.../console.war/WEB-INF)

     [ https://issues.apache.org/jira/browse/ARTEMIS-6084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Bertram updated ARTEMIS-6084:
------------------------------------
    Description: 
After upgrading from Apache ActiveMQ Artemis 2.53.0 to 2.54.0, the embedded web console no longer starts on Windows.

The same broker instance and configuration work correctly with 2.53.0.

During startup Jetty fails while resolving the console web application path and throws:

{{java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/.../console.war/WEB-INF/}}
 
This looks like a Windows-specific path handling regression where a {{file:///C:/...}} URI is converted into an invalid Windows path beginning with {{{}/C:/{}}}.

 Broker startup continues, but the web console fails to deploy.

Relevant logging:
{noformat}
2026-05-28 16:16:06,059 INFO  [org.apache.activemq.artemis] AMQ241003: Starting embedded web server
2026-05-28 16:16:06,252 WARN  [org.eclipse.jetty.ee9.webapp.WebAppContext] Failed startup of context oeje9w.WebAppContext@245cb8df\{/console,/console,file:///C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/,false,@Connector-0}{C:\Entwicklung\ApacheArtemis\apache-artemis\web\console.war}
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/WEB-INF/
        at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:204)
        at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:175)
        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:231)
        at java.base/java.nio.file.Path.resolve(Path.java:516)
        at org.eclipse.jetty.util.resource.PathResource.resolveSchemeSpecificPath(PathResource.java:315)
        at org.eclipse.jetty.util.resource.PathResource.resolve(PathResource.java:296)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.getWebInf(WebAppContext.java:878)
        at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.findWebXml(WebXmlConfiguration.java:114)
        at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:74)
        at org.eclipse.jetty.ee9.webapp.Configurations.preConfigure(Configurations.java:498)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.preConfigure(WebAppContext.java:548)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.doStart(WebAppContext.java:585)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$1(ContextHandler.java:934)
        at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1662)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:934)
        at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2866)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.server.Server.start(Server.java:689)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.server.Server.doStart(Server.java:630)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.apache.activemq.artemis.component.WebServerComponent.start(WebServerComponent.java:276)
        at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.addExternalComponent(ActiveMQServerImpl.java:1074)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:146)
        at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:224)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:172)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:149)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61){noformat}

  was:
After upgrading from Apache ActiveMQ Artemis 2.53.0 to 2.54.0, the embedded web console no longer starts on Windows.

The same broker instance and configuration work correctly with 2.53.0.

During startup Jetty fails while resolving the console web application path and throws:


{{java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/.../console.war/WEB-INF/}}
 
This looks like a Windows-specific path handling regression where a {{file:///C:/...}} URI is converted into an invalid Windows path beginning with {{{}/C:/{}}}.

 

Broker startup continues, but the web console fails to deploy.

Relevant stacktrace:

2026-05-28 16:16:06,059 INFO  [org.apache.activemq.artemis] AMQ241003: Starting embedded web server
2026-05-28 16:16:06,252 WARN  [org.eclipse.jetty.ee9.webapp.WebAppContext] Failed startup of context oeje9w.WebAppContext@245cb8df\{/console,/console,file:///C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/,false,@Connector-0}{C:\Entwicklung\ApacheArtemis\apache-artemis\web\console.war}
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/WEB-INF/
        at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:204)
        at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:175)
        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:231)
        at java.base/java.nio.file.Path.resolve(Path.java:516)
        at org.eclipse.jetty.util.resource.PathResource.resolveSchemeSpecificPath(PathResource.java:315)
        at org.eclipse.jetty.util.resource.PathResource.resolve(PathResource.java:296)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.getWebInf(WebAppContext.java:878)
        at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.findWebXml(WebXmlConfiguration.java:114)
        at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:74)
        at org.eclipse.jetty.ee9.webapp.Configurations.preConfigure(Configurations.java:498)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.preConfigure(WebAppContext.java:548)
        at org.eclipse.jetty.ee9.webapp.WebAppContext.doStart(WebAppContext.java:585)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$1(ContextHandler.java:934)
        at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1662)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:934)
        at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2866)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.server.Server.start(Server.java:689)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.server.Server.doStart(Server.java:630)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
        at org.apache.activemq.artemis.component.WebServerComponent.start(WebServerComponent.java:276)
        at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.addExternalComponent(ActiveMQServerImpl.java:1074)
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:146)
        at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:224)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:172)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:149)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61)


> Windows: Web console fails to start in Artemis 2.54.0 with InvalidPathException (/C:/.../console.war/WEB-INF)
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-6084
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-6084
>             Project: Artemis
>          Issue Type: Bug
>          Components: Management
>    Affects Versions: 2.54.0
>         Environment: OS: Windows
> Artemis version: 2.54.0
> Previous working version: 2.53.0
> Java: jdk-21.0.10
>            Reporter: Hannes Krennmeir
>            Priority: Major
>
> After upgrading from Apache ActiveMQ Artemis 2.53.0 to 2.54.0, the embedded web console no longer starts on Windows.
> The same broker instance and configuration work correctly with 2.53.0.
> During startup Jetty fails while resolving the console web application path and throws:
> {{java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/.../console.war/WEB-INF/}}
>  
> This looks like a Windows-specific path handling regression where a {{file:///C:/...}} URI is converted into an invalid Windows path beginning with {{{}/C:/{}}}.
>  Broker startup continues, but the web console fails to deploy.
> Relevant logging:
> {noformat}
> 2026-05-28 16:16:06,059 INFO  [org.apache.activemq.artemis] AMQ241003: Starting embedded web server
> 2026-05-28 16:16:06,252 WARN  [org.eclipse.jetty.ee9.webapp.WebAppContext] Failed startup of context oeje9w.WebAppContext@245cb8df\{/console,/console,file:///C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/,false,@Connector-0}{C:\Entwicklung\ApacheArtemis\apache-artemis\web\console.war}
> java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/Entwicklung/ApacheArtemis/apache-artemis/web/console.war/WEB-INF/
>         at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:204)
>         at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:175)
>         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:231)
>         at java.base/java.nio.file.Path.resolve(Path.java:516)
>         at org.eclipse.jetty.util.resource.PathResource.resolveSchemeSpecificPath(PathResource.java:315)
>         at org.eclipse.jetty.util.resource.PathResource.resolve(PathResource.java:296)
>         at org.eclipse.jetty.ee9.webapp.WebAppContext.getWebInf(WebAppContext.java:878)
>         at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.findWebXml(WebXmlConfiguration.java:114)
>         at org.eclipse.jetty.ee9.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:74)
>         at org.eclipse.jetty.ee9.webapp.Configurations.preConfigure(Configurations.java:498)
>         at org.eclipse.jetty.ee9.webapp.WebAppContext.preConfigure(WebAppContext.java:548)
>         at org.eclipse.jetty.ee9.webapp.WebAppContext.doStart(WebAppContext.java:585)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
>         at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
>         at org.eclipse.jetty.server.handler.ContextHandler.lambda$doStart$1(ContextHandler.java:934)
>         at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1662)
>         at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:934)
>         at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler.doStart(ContextHandler.java:2866)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
>         at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
>         at org.eclipse.jetty.server.Server.start(Server.java:689)
>         at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
>         at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
>         at org.eclipse.jetty.server.Server.doStart(Server.java:630)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
>         at org.apache.activemq.artemis.component.WebServerComponent.start(WebServerComponent.java:276)
>         at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.addExternalComponent(ActiveMQServerImpl.java:1074)
>         at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:146)
>         at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:224)
>         at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:172)
>         at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>         at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:149)
>         at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61){noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@artemis.apache.org
For additional commands, e-mail: issues-help@artemis.apache.org