7.2. Manual Deployment
You can manually deploy and undeploy bundles by issuing commands at the Red Hat JBoss Fuse console.
Installing a bundle
osgi:installcommand to install one or more bundles in the OSGi container. This command has the following syntax:
osgi:install [-s] [--start] [--help] UrlList
Where UrlList is a whitespace-separated list of URLs that specify the location of each bundle to deploy. The following command arguments are supported:
- Start the bundle after installing.
- Same as
- Show and explain the command syntax.
For example, to install and start the bundle, ProjectDir
/target/foo-1.0-SNAPSHOT.jar, enter the following command at the Karaf console prompt:
osgi:install -s file:ProjectDir/target/foo-1.0-SNAPSHOT.jar
On Windows platforms, you must be careful to use the correct syntax for the
fileURL in this command. See Section A.1, “File URL Handler” for details.
Uninstalling a bundle
To uninstall a bundle, you must first obtain its bundle ID using the
osgi:listcommand. You can then uninstall the bundle using the
osgi:uninstallcommand (which takes the bundle ID as its argument).
For example, if you have already installed the bundle named
A Camel OSGi Service Unit, entering
osgi:listat the console prompt might produce output like the following:
... [ 181] [Resolved ] [ ] [ ] [ 60] A Camel OSGi Service Unit (1.0.0.SNAPSHOT)
You can now uninstall the bundle with the ID,
181, by entering the following console command:
URL schemes for locating bundles
When specifying the location URL to the
osgi:installcommand, you can use any of the URL schemes supported by Red Hat JBoss Fuse, which includes the following scheme types:
Redeploying bundles automatically using dev:watch
In a development environment—where a developer is constantly changing and rebuilding a bundle—it is typically necessary to re-install the bundle multiple times. Using the
dev:watchcommand, you can instruct Karaf to monitor your local Maven repository and re-install a particular bundle automatically, as soon as it changes in your local Maven repository.
For example, given a particular bundle—with bundle ID,
751—you can enable automatic redeployment by entering the command:
Now, whenever you rebuild and install the Maven artifact into your local Maven repository (for example, by executing
mvn installin your Maven project), the Karaf container automatically re-installs the changed Maven artifact. For more details, see section "dev:watch, watch" in "Console Reference".
dev:watchcommand is intended for a development environment only. It is not recommended for use in a production environment.