You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Outdated documentation

6.6. Installing additional features

This chapter will demonstrate how to add additional features from a remote maven repository to a default installation of Karaf.

Last updated January 13, 2009 using smx4knl 1.1.0-SNAPSHOT

Adding additional maven repositories

The following steps will add in the missing OPS4J and Apache Snapshot maven repositories. Note - this has been fixed in the 1.1.0 release and can be skipped.

  1. Edit the following file -
    etc/org.ops4j.pax.url.mvn.cfg
    
  2. Update org.ops4j.pax.url.mvn.repositories to include the OPS4J and Apache Snapshot repos -
    org.ops4j.pax.url.mvn.repositories=file:${user.home}/.m2/repository@snapshots,http://repo1.maven.org/maven2,http://repository.ops4j.org/maven2,http://people.apache.org/repo/m2-snapshot-repository<at:var at:name="snapshots" />noreleases
    

Adding additional feature repositories

The following steps will add in the URLs for the ServiceMix NMR and Features locations.

  1. Start Karaf
    cd bin
    ./servicemix or servicemix.bat
    
  2. Add the following feature install locations
    servicemix> features/addUrl mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.0.0-m4/xml/features
    servicemix> features/addUrl mvn:org.apache.servicemix.features/apache-servicemix/4.0-m2-SNAPSHOT/xml/features
    
  3. Verify the feature URLs were added -
    servicemix> features/listUrl
    mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.0.0-m4-SNAPSHOT/xml/features
    mvn:org.apache.servicemix.kernel/apache-servicemix-kernel/1.1.0-SNAPSHOT/xml/features
    mvn:org.apache.servicemix.features/apache-servicemix/4.0-m2-SNAPSHOT/xml/features
    

Installing a new feature (web)

The following steps will install the "web" feature (support for deploying WAR files with Servlet and JSPs into a Jetty server) into your Karaf instance.

  1. List the available features -
    servicemix> features/list
     State        Name
    . . .
    [SMX4KNL:uninstalled] web
    . . .
    
  2. Install the web feature (and the sub-features it requires) -
    servicemix> features/install web
    
  3. Verify the features were installed
    servicemix> features/list
     State        Name
    . . .
    [SMX4KNL:installed  ] web-core
    [SMX4KNL:installed  ] web
    . . .
    
  4. Verify the installed bundles were started
    servicemix> osgi/list
    START LEVEL 100
       ID   State         Level  Name
    . . .
    [SMX4KNL:  29] [SMX4KNL:Active     ] [SMX4KNL:   50] Apache ServiceMix Bundles: jetty-6.1.14 (6.1.14.SNAPSHOT)
    [SMX4KNL:  30] [SMX4KNL:Active     ] [SMX4KNL:   50] OPS4J Pax Web - Web Container (0.4.1)
    [SMX4KNL:  31] [SMX4KNL:Active     ] [SMX4KNL:   50] OPS4J Pax Web - Jsp Support (0.4.1)
    [SMX4KNL:  32] [SMX4KNL:Active     ] [SMX4KNL:   50] OPS4J Pax Web Extender - WAR (0.3.0)
    [SMX4KNL:  33] [SMX4KNL:Active     ] [SMX4KNL:   50] OPS4J Pax Web Extender - Whiteboard (0.3.0)
    [SMX4KNL:  34] [SMX4KNL:Active     ] [SMX4KNL:   50] OPS4J Pax Url - war:, war-i: (0.3.2)
    [SMX4KNL:  35] [SMX4KNL:Active     ] [SMX4KNL:   50] Apache ServiceMix WAR Deployer (4.0.0.m2-SNAPSHOT)
    . . .
    
  5. The Jetty server should now be listening on http://localhost:8080/, but with no published applications available.
    HTTP ERROR: 404
    NOT_FOUND
    RequestURI=/
    Powered by jetty://
    

Deploying a WAR to the installed web feature

The following steps will describe how to install a simple WAR file (with JSPs or Servlets) to the just installed web feature.

  1. To deploy a WAR (JSP or Servlet) to Jetty, update its MANIFEST.MF to include the required OSGi headers as described here -
    http://wiki.ops4j.org/confluence/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy
  2. Copy the updated WAR (archive or extracted files) to the deploy directory.

#top

  • No labels