Ammonite
Ammonite copied to clipboard
Script using NuProcess fails in ammonite > 1.0.5
I have a simple Hello World example script with NuProcess that works in Ammonite 1.0.5, properly downloading the JNA dependency.
https://gist.github.com/mprihoda/d50c8322eb3b9fb36290c8b84d9f0027
Since 1.1.0, JNA is not downloaded and script throws
java.lang.IllegalArgumentException: class com.sun.jna.JNIEnv is not a supported argument type (in method Java_java_lang_UNIXProcess_init in class com.zaxxer.nuprocess.internal.LibJava8)
com.sun.jna.Native.register(Native.java:1604)
com.sun.jna.Native.register(Native.java:1261)
com.zaxxer.nuprocess.internal.LibJava8.<clinit>(LibJava8.java:36)
com.zaxxer.nuprocess.linux.LinuxProcess.start(LinuxProcess.java:109)
com.zaxxer.nuprocess.linux.LinProcessFactory.createProcess(LinProcessFactory.java:40)
com.zaxxer.nuprocess.NuProcessBuilder.start(NuProcessBuilder.java:266)
ammonite.$file.nuprocess$.<init>(nuprocess.sc:26)
ammonite.$file.nuprocess$.<clinit>(nuprocess.sc)
Since 1.2.1 until current 1.6.6 JNA is not downloaded and script throws:
java.lang.NoClassDefFoundError: com/sun/jna/JNIEnv
com.zaxxer.nuprocess.linux.LinuxProcess.start(LinuxProcess.java:109)
com.zaxxer.nuprocess.linux.LinProcessFactory.createProcess(LinProcessFactory.java:40)
com.zaxxer.nuprocess.NuProcessBuilder.start(NuProcessBuilder.java:266)
ammonite.$file.nuprocess$.<init>(nuprocess.sc:26)
ammonite.$file.nuprocess$.<clinit>(nuprocess.sc)
java.lang.ClassNotFoundException: com.sun.jna.JNIEnv
java.net.URLClassLoader.findClass(URLClassLoader.java:381)
ammonite.runtime.SpecialClassLoader.findClass(ClassLoaders.scala:211)
java.lang.ClassLoader.loadClass(ClassLoader.java:424)
java.lang.ClassLoader.loadClass(ClassLoader.java:357)
com.zaxxer.nuprocess.linux.LinuxProcess.start(LinuxProcess.java:109)
com.zaxxer.nuprocess.linux.LinProcessFactory.createProcess(LinProcessFactory.java:40)
com.zaxxer.nuprocess.NuProcessBuilder.start(NuProcessBuilder.java:266)
ammonite.$file.nuprocess$.<init>(nuprocess.sc:26)
ammonite.$file.nuprocess$.<clinit>(nuprocess.sc)
I'll try to find the time to fix it in the next few days, but any ideas that would speed up my progress are welcomed.
Using nuprocess 2.0.0 and ammonite 2.1.4 appear to work as expected.
amm --no-remote-logging nuprocess.sc
Hello World!
https://gist.github.com/mpkocher/7f7ca44516bb6cf42353283e04db93b6