This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/main by this push:
     new 3be38094a9 Upgrade to JLine 3.22.0 (#2155)
3be38094a9 is described below

commit 3be38094a9ac46d8520e6e9376a99e13ba52f823
Author: Guillaume Nodet <[email protected]>
AuthorDate: Tue Nov 18 16:07:05 2025 +0100

    Upgrade to JLine 3.22.0 (#2155)
---
 pom.xml                                                 |  2 +-
 .../shell/impl/console/osgi/LocalConsoleManager.java    | 17 +++++++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/pom.xml b/pom.xml
index 4991e43e49..f6a563e481 100644
--- a/pom.xml
+++ b/pom.xml
@@ -282,7 +282,7 @@
         <httpclient.version>4.5.14</httpclient.version>
         <jansi.version>2.4.2</jansi.version>
         <javassist.version>3.9.0.GA</javassist.version>
-        <jline.version>3.21.0</jline.version>
+        <jline.version>3.22.0</jline.version>
         <junit.version>4.13.2</junit.version>
         <jsw.version>3.2.3</jsw.version>
         <log4j.version>2.25.2</log4j.version>
diff --git 
a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
 
b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
index 49e5fe894a..440e05afea 100644
--- 
a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
+++ 
b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
@@ -60,10 +60,19 @@ public class LocalConsoleManager {
     }
 
     public void start() throws Exception {
-        final Terminal terminal = TerminalBuilder.builder()
-                .nativeSignals(true)
-                .signalHandler(Terminal.SignalHandler.SIG_IGN)
-                .build();
+        final Terminal terminal;
+
+        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
+        try {
+            ClassLoader cl = TerminalBuilder.class.getClassLoader();
+            Thread.currentThread().setContextClassLoader(cl);
+            terminal = TerminalBuilder.builder()
+                    .nativeSignals(true)
+                    .signalHandler(Terminal.SignalHandler.SIG_IGN)
+                    .build();
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldCl);
+        }
 
         final Subject subject = createLocalKarafSubject();    
         this.session = JaasHelper.doAs(subject, (PrivilegedAction<Session>) () 
-> {

Reply via email to