java-language-server icon indicating copy to clipboard operation
java-language-server copied to clipboard

Allow wildcard matching in java.classPath setting

Open AaronAsAChimp opened this issue 2 years ago • 0 comments

When using the java.classPath setting each JAR file needs to specified separately. It would be helpful if it allowed wildcards because it alleviates manually updating this setting every time a JAR is added or removed. It also makes it consistent with the way the class path is set for javac and Ant.

Current Behavior

The language server crashes with the exception:

java.nio.file.InvalidPathException: Illegal char <*> at index 4: lib\*
	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:232)
	at java.base/java.nio.file.Path.of(Path.java:147)
	at java.base/java.nio.file.Paths.get(Paths.java:69)
	at org.javacs.JavaLanguageServer.classPath(JavaLanguageServer.java:131)
	at org.javacs.JavaLanguageServer.createCompiler(JavaLanguageServer.java:94)
	at org.javacs.JavaLanguageServer.compiler(JavaLanguageServer.java:39)
	at org.javacs.JavaLanguageServer.lint(JavaLanguageServer.java:61)
	at org.javacs.JavaLanguageServer.doAsyncWork(JavaLanguageServer.java:532)
	at org.javacs.lsp.LSP.connect(LSP.java:237)
	at org.javacs.Main.main(Main.java:30)

Expected Behavior

Allow using wildcards similar to the way Ant or javac's pattern matching works.

AaronAsAChimp avatar May 26 '23 17:05 AaronAsAChimp