Closed TobiX closed 3 months ago
putting (for example) jline-terminal-jni-3.26.1.jar into maven-mvnd-1.0.0-windows-amd64/mvn/lib/mvnd fixes the error.
I downloaded Windows mvnd 1.0.0 distro, opened it up, and the file is there... so unsure what happens.
Ah sorry, that was a copy & paste error, I added jline-native-3.26.1.jar
to make the message in the jvm
variant of the launcher disappear.
The fix for the native client probably needs to be something different?!?
Yes, #1033 is exactly about that (adding missing native) plus adding "diag" cmd
Fixed with #1040
Please retest with binaries built by CI from here: https://github.com/apache/maven-mvnd/actions/runs/9597334445
@cstamas Works! Thanks!
When using mvnd 1.0 on Windows, I get this error:
Digging deeper² the problem seems to be that no native access provider is packaged with jansi/jline:
Debugging output
``` FEIN: Unable to load ffm provider: java.lang.UnsupportedClassVersionError: org/jline/terminal/impl/ffm/FfmTerminalProvider has been compiled by a more recent version of the Java Runtime (class file version 66.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) at org.codehaus.plexus.classworlds.realm.ClassRealm.findClassInternal(ClassRealm.java:256) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:351) at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:36) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:225) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:210) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:205) at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:68) at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:704) at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:669) at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:416) at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:383) at org.mvndaemon.mvnd.common.logging.TerminalOutput.And indeed, putting (for example)
jline-terminal-jni-3.26.1.jar
intomaven-mvnd-1.0.0-windows-amd64/mvn/lib/mvnd
fixes the error.Details for reproduction
² To get to this debug output I had to use the JVM wrapper (`set MVND_CLIENT=jvm`) and create a logging configuration like this: ``` handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = ALL org.jline.level = ALL ``` and instruct the wrapper to use it: ``` set MAVEN_OPTS=-Djava.util.logging.config.file=C:\\DEV\\logging.properties ```