If any of the following is true:
- You often change from one OSGi platform to another.
- You don't know what OSGi is, but want to spend half an hour checking it out.
- You can't be bothered about following the setup and requirements README for the OSGi platform of your choice.
- You have problem to get the OSGi platform working at all.
then perhaps the Pax Runner can help. And it will not take you very long to find out, just read the easy installation steps. You have some questions? Maybe they are [already answered].
How Pax Runner helps you
- Quick start up
You have a set of bundles you just developed or wanna test? Just place them all in the same folder, start a command prompt, go to your folder and type "pax-run". That simple. - Easy run on different platforms
If you need to run your set of bundles under different platform runner helps you. You just have to type the name of youur platform. That simple. - Easy running in different contexts
As runner supports multiple provsioning sources you could easy define sets to bundles that should be installed together with your bundles. You could for example have sets of bundles that you use in diferent development lifecycle steps as dev, test and production. Or maybe you wanna test how does you bundles behave depending on the availability of different services.
Screencasts
In order to get used with Pax Runner you can watch [screencasts].
If you would like to see a feature for which there is not already a screencast just let us know.
Design (see [Pax Runner - Design] page for detailed information)
The page Pax Runner Design could not be found.
Installation instructions
Follow this steps in order to install pax runner or watch a screencast:
- Download the latest version (0.5.6) from bellow or checkout [older versions]:
- Unpack the downloaded archive to an arbitrary folder
- Optional: set the PATH to include also the bin directory from the unpacked directory so you will be able to execute pax-run from anywhere.
- Go to the folder containing your bundles and execute pax-run. Note that this is just an example of how you could start pax runner. For other ways see how do you start it up (for jdk 1.4 use pax-run-1.4)
How do you start it up
pax-run [--option]* [provision_spec]*
where:
- option : optional; a start up option. Can be zero, one or more.
- provision_url : optional; a provision specification. Can be zero, one or more.
Provision urls
A provision specification is an URL like string that is understood by one of the [scanners]. Default value is "./*.jar" meaning that will scan the folder from where runner was started for all the jar files and will install them via [Scanner - Directory].
If no provision schema is specified, runner will try to determine the correct schema based on the extension of your file as follow:
Extension |
Scanner used |
---|---|
pom |
[Scanner - Maven 2 POM] |
jar |
[Scanner - Bundle] |
bundle |
[Scanner - Bundle] |
any extension |
[Scanner - File] |
zip |
[Scanner - Directory] |
no extension |
[Scanner - Directory] |
ending with "/" |
[Scanner - Directory] |
ending with "\" |
[Scanner - Directory] |
If there is no protocol specified and runner can find a file that matches it will automatically transform it to an valid file url. This means that you can simply use a provision url as mybundles.txt
and runner will resolve it for you from the current folder.
Options
If the default settings of runner does not suit you bellow you can find a set of usual options that allow you to control runner behavior (listed alphabetically).
For a detailed list of options take a look at [this page].
Option key |
Description |
Default |
---|---|---|
clean|noClean |
see [org.ops4j.pax.runner.platform.clean] |
[see option] |
console|noConsole |
see [org.ops4j.pax.runner.platform.console] |
[see option] |
ee |
see [org.ops4j.pax.runner.platform.ee] |
[see option] |
log |
the logging level to be used by runner (NONE,FATAL,ERROR,WARNING,INFO,DEBUG,TRACE) |
INFO |
platform|p |
the platform to be started ([equinox/e/eq], [felix/f], [knopflerfish/k/kf], [concierge/c] |
felix |
profiles |
see [org.ops4j.pax.runner.platform.profiles] |
[see option] |
usePersistedState|ups |
see [org.ops4j.pax.runner.platform.usePersistedState] |
[see option] |
vmOptions|vmo |
see [org.ops4j.pax.runner.platform.vmOptions] |
[see option] |
version|v |
version of the platform to be started. See platforms for details about supported versions |
1.0.0 (felix) |
Legend
- - stands for: implemented
- - stands for: under development
- - stands for: in design phase
- - stands for: only an idea
Source code
https://scm.ops4j.org/repos/ops4j/projects/pax/runner ( or browse via FishEye )
This project builds with Apache Maven and uses Apache Felix's maven-bundle-plugin, and Peter Krien's bnd tool.
Issue tracker
Issues, bugs, and feature requests can be submitted to the issue tracking system.
FAQ
If the above description did not anwer what you are looking for you may checkout the [FAQ page].
Change Log
Check out the following page to find out what is changed in each version of Pax Runner.
Previous versions
For information on Pax Runner releases before 0.5.0 visit [this page].
Pax Runner 1.9.0 is a first release on 1.9.x major release cycle, including bug fixes, support of Java8, and support of new platforms version.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.6 is a maintenance release with bug fixes, support of Java8, and support of new platforms version.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.5 is a maintenance release with a bug fix
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.3 is a maintenance release with a bug fix
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.2 is a maintenance release with the latest versions of OSGi frameworks: KF up to 3.4.0, Apache Felix up to 4.0.3, Equinox up to 3.8.1.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.1 is a maintenance release with a bug fix.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.8.0 is a release to support the latest dependency versions and ability to start/stop Pax Runner from maven plugin (very helpful for functional/performance testing e.g. Jmeter, RESTFuse etc.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.7.6 is a maintenance release to support the latest Equinox and Felix framework versions. In addition, it fixes a bug in the InProcessExecutor
.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.7.5 lets you provision bundles using the reference: URL protocol. This is not an official OSGi protocol, but Equinox, Felix and Knopflerfish all support it. This release also supports the newest versions of these three OSGi frameworks and uses them by default.
As usual, all artifacts are available from Maven Central.
Pax Runner 1.6.1 has been released.
This release highlights are:
- Support for latest release version of Felix 3.0.3, 3.0.4, 3.0.5, 3.0.6
- Support for latest release version of Knopflerfish 3.1.0
- Support for latest release version of Equinox 3.6.1
- Latest Pax Swissbox 1.3.1 in use
- Latest Pax Scanner 1.1.0 in use
- Latest Pax URL 1.2.5 in use
- Bufgixes & Improvements !
Checkout release notes for details.