You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2016/08/22 17:04:20 UTC

[jira] [Commented] (KARAF-4654) Karaf shell command

    [ https://issues.apache.org/jira/browse/KARAF-4654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15431201#comment-15431201 ] 

Guillaume Nodet commented on KARAF-4654:
----------------------------------------

As a workaround, you can define the following:
{code}
addcommand = {
  field = (($.commandSession class) getDeclaredField "processor")
  $field setAccessible true 
  processor = ($field get $.commandSession)
  $processor addcommand $args
}
{code}

You'll then be able to use:
{code}
karaf@root()> addcommand system (($.context bundle) loadClass java.lang.System)
karaf@root()> system:currentTimeMillis 
1471885410139
{code}

> Karaf shell command
> -------------------
>
>                 Key: KARAF-4654
>                 URL: https://issues.apache.org/jira/browse/KARAF-4654
>             Project: Karaf
>          Issue Type: Question
>          Components: karaf-shell
>    Affects Versions: 4.0.4
>            Reporter: ShawnE
>
> The Karaf 4 documentation mentions [the ability to script|https://karaf.apache.org/manual/latest/#_leveraging_existing_java_capabilities_via_reflection]:
> {quote}
>     It's possible to create objects to create commands "on the fly":
>     karaf@root()> addcommand system (($.context bundle) loadClass java.lang.System)
> {quote}
> However this does not work, and displays the following error message:
> {quote}
>     Command not found: addcommand
> {quote}
> Is the documentation outdated, and if so what's the new way to achieve the same result?
> Thanks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)