Hi Joel,

In 2.2.9, in order to fix issues on Windows platform, we upgraded the jline version.

However, the new version should be backward compatible.

I will take a look if the option has the same name and supported in the same way.

Regards
JB

On 09/04/2012 05:41 PM, Joel Schuster wrote:
After upgrading from 2.2.2 to 2.2.9 we are noticing that setting
KARAF_OPTS to -Djline.terminal=jline.UnsupportedTerminal no longer works.

We need this functionality since we run JUnit tests using a
ProcessBuilder against karaf based distributions.

Does anyone happen to have any ideas on what may be newly missing?

hudson:~/dev/apache-karaf-2.2.9/bin$ export
KARAF_OPTS=-Djline.terminal=jline.UnsupportedTerminal

hudson:~/dev/apache-karaf-2.2.9/bin$ ./karaf

[ERROR] Failed to construct terminal; falling back to unsupported

java.lang.IllegalArgumentException: Invalid terminal type:
jline.UnsupportedTerminal

         at jline.TerminalFactory.create(TerminalFactory.java:84)

         at
org.apache.karaf.shell.console.jline.TerminalFactory.init(TerminalFactory.java:37)

         at
org.apache.karaf.shell.console.jline.TerminalFactory.getTerminal(TerminalFactory.java:30)

         at
org.apache.karaf.shell.console.jline.ConsoleFactory.doStart(ConsoleFactory.java:101)

         at
org.apache.karaf.shell.console.jline.ConsoleFactory$1.run(ConsoleFactory.java:74)

         at java.security.AccessController.doPrivileged(Native Method)

         at javax.security.auth.Subject.doAs(Subject.java:396)

         at
org.apache.karaf.shell.console.jline.ConsoleFactory.start(ConsoleFactory.java:72)

         at
org.apache.karaf.shell.console.jline.ConsoleFactory.registerCommandProcessor(ConsoleFactory.java:51)

         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

         at java.lang.reflect.Method.invoke(Method.java:597)

         at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:225)

         at
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:448)

         at
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.bind(AbstractServiceReferenceRecipe.java:430)

         at
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.bind(AbstractServiceReferenceRecipe.java:327)

         at
org.apache.aries.blueprint.container.ReferenceRecipe.bind(ReferenceRecipe.java:147)

         at
org.apache.aries.blueprint.container.ReferenceRecipe.retrack(ReferenceRecipe.java:112)

         at
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.updateListeners(AbstractServiceReferenceRecipe.java:319)

         at
org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:91)

         at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)

         at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)

         at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)

         at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

         at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

         at java.util.concurrent.FutureTask.run(FutureTask.java:138)

         at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)

         at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)

         at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

         at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

         at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.ClassNotFoundException: jline.UnsupportedTerminal

         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

         at java.security.AccessController.doPrivileged(Native Method)

         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

         at jline.TerminalFactory.create(TerminalFactory.java:81)

         ... 34 more

         __ __                  ____

        / //_/____ __________ _/ __/

       / ,<  / __ `/ ___/ __ `/ /_

      / /| |/ /_/ / /  / /_/ / __/

     /_/ |_|\__,_/_/   \__,_/_/

   Apache Karaf (2.2.9)

Hit '<tab>' for a list of available commands

and '[cmd] --help' for help on a specific command.

Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Karaf.

Description: OSI Logo - small

*Joel Schuster*

Operational Systems, Inc.

6514 Fairways Drive

Longmont, CO 80503

Phone: 719 445 8789

Email: [email protected]

Web: www.opsysinc.com <http://www.opsysinc.com/>


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com
  • jline in 2.2.9 Joel Schuster
    • Re: jline in 2.2.9 Jean-Baptiste Onofré

Reply via email to