Client Services project dependenciesAdded by IBM on September 9, 2010 | Version 1 (Original)
|This section describes how to best use the tooling provided by the Lotus® Expeditor Toolkit to manage the dependencies in a Client Services project. These dependencies include the Java™ Build Path and the manifest file. When developing Eclipse plug-ins or OSGi plug-ins, the Java Build Path, the packages used by the plug-in's code, and the manifest are all related.
This section describes how to best use the tooling provided by the Lotus® Expeditor Toolkit to manage the dependencies in a Client Services project. These dependencies include the Java Build Path and the manifest file. When developing Eclipse plug-ins or OSGi plug-ins, the Java Build Path, the packages used by the plug-in's code, and the manifest are all related.
- The Java Build Path must contain the necessary libraries and plug-ins that contribute the packages and classes used by the project's plug-in code during the compilation process. If this is not the case, the tools will tag the code with problem markers indicating that a referenced package or class cannot be found.
- The manifest must contain references to the packages and plug-ins that the plug-in code is using. This is how the OSGi framework manages the class path of the plug-in at runtime. A reference to a particular plug-in implementation is done through a Require-Bundle manifest entry. A reference to a required package is done through an Import-Package manifest entry. Failure to properly resolve these dependencies in the manifest can cause the plug-in to fail at runtime with a “class not found” error (NoClassDefFoundError).
The following mechanisms are available to help manage both the Java Build Path and the manifest file:
Target Definitions: XPD622
A target definition specifies all aspects of a target - including its location, constituent plug-ins and environment.
Target features: XPD622
A Target feature represents a logical service, such as an XML parser or logging service that consists of one or more plug-ins. Target features enable you to focus on the logical requirements of the service instead of the requirements of the actual underlying plug-ins.
Nonprofiled Features: XPD622
The Target Definitions used to configure the Lotus Expeditor Toolkit project settings and launch configurations are a static snapshot of a runtime. Since runtimes can be dynamically modified, Lotus Expeditor Toolkit can dynamically add new features.
Automatic management of manifest package dependencies: XPD622
Dependency Management allows users to include plug-ins in the build path without adding references to the Manifest. By using this mechanism to include plug-ins in the build path, users can compile and develop their code with the convenient features of Eclipse JDT. You can configure Dependency Management to help identify and add new package dependencies from your project's Java code.
Client Services Platform Editor: XPD622
You can create resources to customize a Client Services installation package. The Platform Editor is centered around building a configuration that can create artifacts to customize and streamline the product installation.
Configuring application layout: XPD622
You define the layout of applications, such as views and editors, within the workbench using two methods.
Parent topic: Developing Applications for Lotus Expeditor: XPD622