Error running gremlin.bat from WIN11 machine
Download gremlin console 3.6.4 and run bin\gremlin.bat but hit the error, would like to know how to resolve this. Thanks,
G:\NewHealthEngine\apache-tinkerpop-gremlin-console-3.6.4>bin\gremlin.bat
,,,/
(o o)
-----oOOo-(3)-oOOo-----
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <> at index 82: G:/NewHealthEngine/apache-tinkerpop-gremlin-console-3.6.4/ext/tinkergraph-gremlin/
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.WindowsUriSupport.fromUri(WindowsUriSupport.java:166)
at sun.nio.fs.WindowsFileSystemProvider.getPath(WindowsFileSystemProvider.java:96)
at java.nio.file.Paths.get(Paths.java:138)
...
10 Replies
Hmm that's interesting. The final
/
in that path is index 81 so its whatever char comes after that in the path which is not parsable. Looks to me like an illegal non-printing character is terminating the path string for some reason. Any of our windows users have any ideas regarding this?Shorten the path does not help, got the same error from different machine. Z:\GremlinConsole>bin\gremlin.bat
,,,/
(o o)
-----oOOo-(3)-oOOo-----
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <> at index 37: Z:/GremlinConsole/ext/gremlin-groovy/
at sun.nio.fs.WindowsPathParser.normalize(Unknown Source)
at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
at sun.nio.fs.WindowsPath.parse(Unknown Source)
at sun.nio.fs.WindowsUriSupport.fromUri(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.getPath(Unknown Source)
at java.nio.file.Paths.get(Unknown Source)
at org.codehaus.groovy.tools.shell.util.PackageHelperImpl.getPackageNames(PackageHelperImpl.groovy:243)
at org.codehaus.groovy.tools.shell.util.PackageHelperImpl.getPackages(PackageHelperImpl.groovy:119)
...
Looks like the wildcard character "*" lost during copy/paste. "Illegal char <*> at index 22: G:/GremlinConsole/ext/*"
chiujl what version of java do you have?
G:\GremlinConsole>java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
The gremlin console version 3.4.13 succeeds, but the same exception when run gremlin console version 3.5.6 as well as 3.6.4.
This seems to be related to the Groovy upgrade/changes we made recently. There are two simple workarounds right now.
1) Use a later version of Java. This seems to only affect Java 8. Works with Java 11 and later.
2) Temporarily revert to 3.5.5 or 3.6.2 as those were the versions before the Groovy update.
It should also be noted that the Console works in 3.6.4 when used directly without the bat file. I'm still looking into the root cause but hopefully one of these workarounds will help you out for now.
Thanks, 3.6.2 works. G:\NewHealthEngine\apache-tinkerpop-gremlin-console-3.6.2>bin\gremlin.bat
,,,/
(o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
For anyone interested, @Kennh has put in a PR for the fix with a separate gremlin-java8.bat for Java 8 and Windows https://github.com/apache/tinkerpop/pull/2086. Once merged, this will be packaged in the next console release artifact.
GitHub
Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 330 million projects.
I got the same error (windows 10, java 8, gremlin 3.7.0):
@Boxuan Li , the gremlin.bat wasn't fixed. You need to use the gremlin-java8.bat instead. Theres an argument to be made that we should just replace the gremlin.bat with gremlin-java8.bat.
I see, thanks! I am using jdk-11 now anyways, and it's working smoothly