>>>>> Steinar Bang <[email protected]>: >>>>> Jean-Baptiste Onofré <[email protected]>:
>> Hi Steinar, >> you can take a look on the documentation: >> http://karaf.apache.org/manual/latest/#_console_3 > Thanks! > The HelloShellCommand sample seems easy to follow. > I've now also read the javadoc here: > > https://github.com/apache/karaf/blob/master/shell/core/src/main/java/org/apache/karaf/shell/api/action/Action.java#L21 > In short: > 1. Implement the Action interface in a class with a no-argument constructor > 2. Annotate the implementation with @Command > 3. Annotate the implementation with @Service > 4. Create fields for the OSGi services needed and annotate these fields > with @Reference > Karaf will then instantiate the class as needed and provide the OSGi > services (so there is no need to mess around with singletons). Forgot one thing: 5. Add a Karaf-Commands manifest header: http://karaf.apache.org/manual/latest/#_manifest But after that it worked like a charm. https://github.com/steinarb/ukelonn/blob/work/use-liquibase/ukelonn.bundle/src/main/java/no/priv/bang/ukelonn/impl/KarafReleaseLiquibaseLockCommand.java
