You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Joel Schuster <jo...@opsysinc.com> on 2012/09/04 17:41:23 UTC

jline in 2.2.9

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.ja
va:37)

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

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

        at
org.apache.karaf.shell.console.jline.ConsoleFactory$1.run(ConsoleFactory.jav
a: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.jav
a: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(Abs
tractServiceReferenceRecipe.java:327)

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

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

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

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

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

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

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

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

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

        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintCon
tainerImpl.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(Sch
eduledThreadPoolExecutor.java:206)

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

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

        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: joel.schuster@opsysinc.com

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

 


Re: jline in 2.2.9

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
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: joel.schuster@opsysinc.com
>
> Web: www.opsysinc.com <http://www.opsysinc.com/>
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com