Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
shell.remote-1.1.2
-
None
Description
The shell.remote bundle doesn't work together with the Gogo shell, neither with gogo.shell nor with gogo.jline. When trying to connect, there is an
Exception in thread "telnetconsole.shell remote=/127.0.0.1:60679" java.lang.NoClassDefFoundError: org/apache/felix/service/command/CommandProcessor
at org.apache.felix.shell.remote.Shell.run(Shell.java:78)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.felix.service.command.CommandProcessor not found by org.apache.felix.shell.remote [16]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597)
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
When changing the Manifest.MF and removing the status requirement in
DynamicImport-Package: org.apache.felix.service.command;status="provisional"
then it seems to find the class, but the method arguments don't seem to match.
Currently, the only method to open a telnet server seems to be setting the system property
-Dgosh.args="-sc telnetd -p2323 start"
but this works only with gogo.shell and not with gogo.jline (in fact, there is always an exception when specifying -Dgosh.args with gogo.jline). JLine has an embedded telnet daemon (which seems to be the same like gogo.shell has), but it isn't used.