Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Swordfish Documentation: Running Target Platform Outside An IDE

Running Swordfish Target Platform outside an Eclipse IDE

This section contains instructions on running Swordfish Target Platform outside an Eclipse IDE.
The whole process consists of three steps: preparing a target platform, customizing platform properties and launching platform. More detailed information for each step is provided below.

Prerequisites

Eclipse Galileo (Eclipse 3.5) build or later. The examples described here are based on Eclipse 3.5.

Preparing Target Platform

Target Platform is one of the artifacts produced by the Swordfish Headless Build.
To build a platform you have to set up the Headless Build and run it by typing ant command from the build directory (org.eclipse.swordfish.build).
After build finishes prepared target platform can be found in org.eclipse.swordfish.build/target/platform directory.

Customizing Target Platform properties

By default Swordfish target paltform includes only predefined set of bundles and is launched with default settings. Depending on real scenario these settings can be changed to allow for instance add additional bundles to platform or change default ports. All

The value of org.osgi.service.http.port must be set to 9001 - the default port that the remote resolver uses to connect to the Swordfish registry. The next property org.eclipse.swordfish.registry.fileLocation must point to the directory where all the WSDL files that need to be loaded by the registry are placed. The property osgi.noShutdown is the Eclipse Equinox (OSGI) specific container. Its value must be set to true because Equinox shuts down by default after starting up if it does not find an Eclipse application. For details on this issue, see [| Equinox Quick Start].

Running Target Platform

To run Swordfish Target Platform:

  • Switch to the org.eclipse.swordfish.build/target/platform directory.
  • Depending on your operating system start the platform by running corresponding launch script (launch.bat for Windows, launch.sh for MacOS/Linux).
  • Verify that the platform has started successfully. To do this check the status of bundles included into the platform by typing ss command in the console window.
    In case of successfull start all bundles must be either in ACTIVE or RESOLVED state.
    Swordfish Target Platform state


NOTE: To provide the same behavior as target platform started inside Eclipse IDE, all launchers specify osgi.compatibility.bootdelegation system property set to true.
Use of this property enables delegation to parent (boot) classloader by default if class can not be found, hence provides successful resolving of all packages visible for parent class loader (javax.*, org.w3c.*, etc.) regardless if their imports are present in bundle manifest. For more information regarding Eclipse boot delegation and usage of osgi.compatibility.bootdelegation property please refer to: Equinox boot delegation, Bug 178477


Swordfish End User Documentation
Swordfish Wiki Home

Back to the top