Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using setExtraClasspath("lib/extra/*") does not work on Microsoft Windows #3489

Closed
nomeaning25 opened this issue Mar 26, 2019 · 13 comments
Closed
Assignees
Labels
Bug For general bugs on Jetty side Microsoft Windows For issues unique to Microsoft Windows

Comments

@nomeaning25
Copy link

Trying to add extra Jars to classpath using:
context.setExtraClasspath("lib/extra/*");

Which was added in #150

The error I get is:

2019-03-26 14:57:40.921:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@42f30e0a{/posh,null,UNAVAILABLE}{file:/C:/Standalone%20apps/posh/posh-jar-with-dependencies.jar}
java.io.IOException: Invalid argument
	at java.io.WinNTFileSystem.canonicalize0(Native Method)
	at java.io.WinNTFileSystem.canonicalize(Unknown Source)
	at java.io.File.getCanonicalPath(Unknown Source)
	at java.io.File.getCanonicalFile(Unknown Source)
	at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:180)
	at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:150)
	at org.eclipse.jetty.server.handler.ContextHandler.newResource(ContextHandler.java:1995)
	at org.eclipse.jetty.webapp.WebAppClassLoader.addClassPath(WebAppClassLoader.java:282)
	at org.eclipse.jetty.webapp.WebAppClassLoader.<init>(WebAppClassLoader.java:216)
	at org.eclipse.jetty.webapp.WebAppClassLoader.<init>(WebAppClassLoader.java:180)
	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:485)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	at org.eclipse.jetty.server.Server.start(Server.java:415)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	at org.eclipse.jetty.server.Server.doStart(Server.java:382)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	at posh.standalone.EmbeddedServer.main(EmbeddedServer.java:77)
Suppressed: 
	|java.net.MalformedURLException: no protocol: lib/extra/*
	|	at java.net.URL.<init>(Unknown Source)
	|	at java.net.URL.<init>(Unknown Source)
	|	at java.net.URL.<init>(Unknown Source)
	|	at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:167)
	|	at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:150)
	|	at org.eclipse.jetty.server.handler.ContextHandler.newResource(ContextHandler.java:1995)
	|	at org.eclipse.jetty.webapp.WebAppClassLoader.addClassPath(WebAppClassLoader.java:282)
	|	at org.eclipse.jetty.webapp.WebAppClassLoader.<init>(WebAppClassLoader.java:216)
	|	at org.eclipse.jetty.webapp.WebAppClassLoader.<init>(WebAppClassLoader.java:180)
	|	at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:485)
	|	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)
	|	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	|	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
	|	at org.eclipse.jetty.server.Server.start(Server.java:415)
	|	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
	|	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
	|	at org.eclipse.jetty.server.Server.doStart(Server.java:382)
	|	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
	|	at posh.standalone.EmbeddedServer.main(EmbeddedServer.java:77)

The jars are not added to class path since i still get class not found exception.

I am using jetty version 9.4.15.v20190215 embedding it with maven plugin.

@joakime
Copy link
Contributor

joakime commented Mar 26, 2019

What version of Java are you using?
We have unit tests for this and they pass on Windows, so this is rather strange.
Have you tried using a fully qualified path? /path/to/my/lib/extra/* ?

@joakime
Copy link
Contributor

joakime commented Mar 26, 2019

Do you have a WebAppContext declared with a .setBaseResource(String path) or .setWar(String path) ?

@nomeaning25
Copy link
Author

I'm using java 1.8.
WebAppContext is declared with setWar.

Because I'm working on a standalone app, I'm declaring it like here:
https://github.com/AlanHohn/webmvc/blob/master/src/main/java/org/anvard/webmvc/server/EmbeddedServer.java

@janbartel
Copy link
Contributor

@joakime or @nomeaning25 if you have a windowsNT machine can you report what the result of a very simple program that just calls new File("lib/ext/*").getCanonicalPath() is? I am assuming windowsNT doesn't like the *.

@joakime joakime self-assigned this Mar 27, 2019
@nomeaning25
Copy link
Author

nomeaning25 commented Mar 27, 2019

@janbartel you are right. The problem is with .getCanonicalPath() on windows when the file path is called with "*".

The problem is when new Resource is initialized: https://github.com/eclipse/jetty.project/blob/cd304eb65b28bce8583cf3b71ed1e73dca6d4916/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppClassLoader.java line 282

The solution would probably be to remove * when creating new resource.

@joakime joakime added the Microsoft Windows For issues unique to Microsoft Windows label Mar 27, 2019
@joakime
Copy link
Contributor

joakime commented Mar 27, 2019

Windows doesn't like the splat * character. (Linux and OSX are happy with it, and operates normally).

The old java.io.File object won't complain until you try to use it.

File file = new File("lib/ext/*");
System.out.println("File: " + file);
File absFile = file.getAbsoluteFile();
System.out.println("absFile: " + absFile);
File canFile = file.getCanonicalFile();
System.out.println("canFile: " + canFile);

Results in ...

File: lib\ext\*
absFile: C:\Code\junk\lib\ext\*
Exception in thread "main" java.io.IOException: Invalid argument
	at java.io.WinNTFileSystem.canonicalize0(Native Method)
	at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
	at java.io.File.getCanonicalPath(File.java:618)
	at java.io.File.getCanonicalFile(File.java:643)
	at fs.GlobResource.main(GlobResource.java:15)

Even if you try to work with it as a java.nio.files.Path object you'll get complaints.

File file = new File("lib/ext/*");
System.out.println("File: " + file);
File absFile = file.getAbsoluteFile();
System.out.println("absFile: " + absFile);
Path path = absFile.toPath();
System.out.println("path: " + path);

Results in ...

File: lib\ext\*
absFile: C:\Code\junk\lib\ext\*
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <*> at index 21: C:\Code\junk\lib\ext\*
	at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
	at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
	at java.io.File.toPath(File.java:2234)
	at fs.GlobResource.main(GlobResource.java:13)

However, not all is lost, you might be able to just use the WebAppClassLoader directly (since you are an embedded-jetty user).
If you go this route, let us know if it works out for you.

Example:

WebAppContext context = new WebAppContext();
WebAppClassLoader cl = new WebAppClassLoader(context);
context.setClassLoader(cl);
cl.addJars(Resource.newResource("lib/ext"));
// ... other initialization here ..
// dump state at a later point to see what's actually in the webapp's own classloader.
context.dump(System.out);

joakime added a commit that referenced this issue Mar 27, 2019
+ Moving Resource.newResource() to later point

Signed-off-by: Joakim Erdfelt <[email protected]>
@joakime
Copy link
Contributor

joakime commented Mar 27, 2019

Opened PR #3495 to allow this to work on MS Windows.

@joakime joakime added the Bug For general bugs on Jetty side label Mar 27, 2019
@nomeaning25
Copy link
Author

@joakime your solution works for me. The jars are added to classpath.

@nomeaning25 nomeaning25 reopened this Mar 28, 2019
joakime added a commit that referenced this issue Mar 28, 2019
…-splat-windows

Issue #3489 - Allowing JAR directory references on Windows
@joakime
Copy link
Contributor

joakime commented Mar 28, 2019

A general fix for Windows has been applied (to branch jetty-9.4.x) to allow the WebAppContext.setExtraClasspath("lib/ext/*") syntax to function.
This will show up in Jetty 9.4.16 release.

@joakime joakime closed this as completed Mar 28, 2019
@joakime joakime changed the title setExtraClasspath - Getting java.io.IOException: Invalid argument Using setExtraClasspath("lib/ext/*") does not work on Microsoft Windows Mar 28, 2019
@joakime joakime changed the title Using setExtraClasspath("lib/ext/*") does not work on Microsoft Windows Using setExtraClasspath("lib/extra/*") does not work on Microsoft Windows Mar 28, 2019
@sonyDeswal
Copy link

sonyDeswal commented Jun 13, 2020

This Bug is not fixed completely. I just ran into the following exception for the same scenario:-

Using setExtraClasspath("lib/extra/*") does not work on Microsoft Windows I have the fix ready though....
java.io.IOException: Invalid argument
at java.io.WinNTFileSystem.canonicalize0(Native Method) ~[?:1.8.0_222]
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428) ~[?:1.8.0_222]
at java.io.File.getCanonicalPath(File.java:618) ~[?:1.8.0_222]
at java.io.File.getCanonicalFile(File.java:643) ~[?:1.8.0_222]
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:182) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:151) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.ContextHandler.newResource(ContextHandler.java:1888) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findExtraClasspathJars(WebInfConfiguration.java:950) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findJars(WebInfConfiguration.java:882) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findAndFilterWebAppPaths(WebInfConfiguration.java:294) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:145) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:255) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.Server.start(Server.java:407) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.Server.doStart(Server.java:371) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$0(XmlConfiguration.java:1888) ~[jetty-xml-9.4.26.v20200117.jar:9.4.26.v20200117]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222]
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1837) ~[jetty-xml-9.4.26.v20200117.jar:9.4.26.v20200117]
Suppressed: java.net.MalformedURLException: unknown protocol: c
at java.net.URL.(URL.java:607) ~[?:1.8.0_222]
at java.net.URL.(URL.java:497) ~[?:1.8.0_222]
at java.net.URL.(URL.java:446) ~[?:1.8.0_222]
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:151) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.ContextHandler.newResource(ContextHandler.java:1888) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findExtraClasspathJars(WebInfConfiguration.java:950) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findJars(WebInfConfiguration.java:882) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.findAndFilterWebAppPaths(WebInfConfiguration.java:294) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(WebInfConfiguration.java:145) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:488) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:523) ~[jetty-webapp-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:255) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.Server.start(Server.java:407) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.server.Server.doStart(Server.java:371) ~[jetty-server-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$0(XmlConfiguration.java:1888) ~[jetty-xml-9.4.26.v20200117.jar:9.4.26.v20200117]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_222]
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1837) ~[jetty-xml-9.4.26.v20200117.jar:9.4.26.v20200117]

@janbartel
Copy link
Contributor

@sonyDeswal this is the java doc:

 * @param extraClasspath Comma or semicolon separated path of filenames or URLs
 * pointing to directories or jar files. Directories should end
 * with '/'.

So directories should end with '/' character.

@sonyDeswal
Copy link

sonyDeswal commented Jun 13, 2020 via email

@sonyDeswal
Copy link

sonyDeswal commented Jun 14, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For general bugs on Jetty side Microsoft Windows For issues unique to Microsoft Windows
Projects
None yet
Development

No branches or pull requests

4 participants