tuxji commented on PR #986:
URL: https://github.com/apache/daffodil/pull/986#issuecomment-1464320158
I checked sbt's options (`sbt --help`) in case an option might disable the
JLineLoader. I tried both `sbt --batch daffodil-cli/test` and `sbt --batch
--no-colors daffodil-cli/test` but I still got the same exceptions. I noticed
that sbt also has a `--sbt-boot <path>` option so I copied ~/.sbt/boot to
~/sbtboot and replaced the jansi and jline jars with Daffodil's jansi and jline
jars from its lib_managed directories. Replacing the individual jline jars
with the all-in-one jline jar crashed sbt's JLineLoader class:
```shell
interran@GH3WPL13E:~/apache/daffodil-tuxji$ sbt --sbt-boot ~/sbtboot
daffodil-cli/test
...
Caused by: java.lang.NullPointerException
at java.base/java.util.ArrayDeque.addLast(ArrayDeque.java:304)
at java.base/java.util.ArrayDeque.add(ArrayDeque.java:495)
at
java.base/jdk.internal.loader.URLClassPath.<init>(URLClassPath.java:155)
at
java.base/jdk.internal.loader.URLClassPath.<init>(URLClassPath.java:172)
at java.base/java.net.URLClassLoader.<init>(URLClassLoader.java:120)
at sbt.internal.JLineLoader.<init>(JLineLoader.java:15)
...
```
Adding the individual jline 2.23.0 jars gets us past JLineLoader, but still
crashes sbt later when it tries to call a now-missing jline class:
```shell
interran@GH3WPL13E:~/apache/daffodil-tuxji$ sbt --sbt-boot ~/sbtboot
daffodil-cli/test
java.lang.NoClassDefFoundError:
org/jline/terminal/impl/jansi/JansiSupportImpl
at sbt.internal.util.JLine3$.<init>(JLine3.scala:52)
...
```
So sbt would need source changes before the newer jline jars could be
dropped into its boot path. The whole idea was just to see if changing the
boot path would even work, not use it as a workaround anyway.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]