panbingkun commented on PR #46288:
URL: https://github.com/apache/spark/pull/46288#issuecomment-2093915493

   > Thank you for the analysis and sharing, @panbingkun and @LuciferYang .
   
   
   
   > [INFO] Restricted to JDK 17 yet org.jline:jline:jar:3.25.1:compile 
contains org/jline/terminal/impl/ffm/CLibrary$termios.class targeted to 65.-257
   > 
   > Oh... It seems that `CLibrary$termios.class` is not compatible with Java 8.
   > 
   > In jline 3.25.1, CLibrary references some implementations that were moved 
to the `java.lang.foreign` package in Java 21, but in Java 17, they were still 
in the `jdk.incubator.foreign` package.
   > 
   > However, in jline 3.24.1, CLibrary also import classes in 
`java.lang.foreign` package, it's just that the final jline jar does not 
include the `terminal-ffm` module, so it won't trigger a compilation error from 
the `maven-enforcer-plugin`.
   > 
   > So it seems that using jline 3.25.1 should not pose any issues. It's 
unclear whether it's possible to workaround this by modifying the rules of the 
`maven-enforcer-plugin`. @panbingkun
   
   Let me try, We should be able to refer to the following:
   https://github.com/mojohaus/extra-enforcer-rules/issues/46
   <img width="403" alt="image" 
src="https://github.com/apache/spark/assets/15246973/db42b4e1-650e-44c2-9cfb-d9f6dc9914b8";>
   
   But I'm not sure we really want to do this? 
   We have 2 options:
   1. Use `org.jline:jline:3.14.1` (exclude `org.jline:jline:3.15.1` from 
`org.scala-lang:scala-compiler:jar:2.13.14`)
   2. Use `org.jline:jline:3.15.1` (Modify the rule `enforceBytecodeVersion` by 
configuring `ignoreClasses ` and bypass it ) 
   WDYT @dongjoon-hyun 


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to