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