You can associate one or more shared libraries with an application using an installed optional package that declares the shared libraries in the application's manifest file. Classes represented by the shared libraries are then loaded in the application's class loader, making the classes available to the application.
Read about installed optional packages in Installed optional packages and in section 8.2 of the Java 2 Platform, Enterprise Edition (J2EE) specification, Version 1.4 at http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf.
WebSphere Application Server does not support the Java 2 Platform Standard Edition (J2SE) Installed Optional Package semantics used in the J2SE specification (http://java.sun.com/j2se/1.3/docs/guide/extensions/spec.html), which primarily serve the applet environment. WebSphere Application Server ignores applet-specific tags within manifest files.
Installed optional packages expand the existing shared library capabilities of an application server. Prior to Version 6, an administrator was required to associate a shared library to an application or server. Installed optional packages enable an administrator to declare a dependency in an application's manifest file to a shared library, with installed optional package elements listed in the manifest file, and automatically associate the application to the shared library. During application installation, the shared library .jar file is added to the class path of the application class loader.
If you use an installed optional package to associate a shared library with an application, do not associate the same shared library with an application class loader or a server class loader using the administrative console.
app1.ear: META-INF/application.xml ejb1.jar: META-INF/MANIFEST.MF: Extension-List: util util-Extension-Name: com/example/util util-Specification-Version: 1.4 META-INF/ejb-jar.xml util.jar: META-INF/MANIFEST.MF: Extension-Name: com/example/util Specification-Title: example.com's util package Specification-Version: 1.4 Specification-Vendor: example.com Implementation-Version: build96The second sample manifest file has application app1.ear refer to multiple shared library .jar files:
app1.ear: META-INF/application.xml ejb1.jar: META-INF/MANIFEST.MF: Extension-List: util1 util2 util3 Util1-Extension-Name: com/example/util1 Util1-Specification-Version: 1.4 Util2-Extension-Name: com/example/util2 Util2-Specification-Version: 1.4 Util3-Extension-Name: com/example/util3 Util3-Specification-Version: 1.4 META-INF/ejb-jar.xml util1.jar: META-INF/MANIFEST.MF: Extension-Name: com/example/util1 Specification-Title: example.com's util package Specification-Version: 1.4 Specification-Vendor: example.com Implementation-Version: build96 util2.jar: META-INF/MANIFEST.MF: Extension-Name: com/example/util2 Specification-Title: example.com's util package Specification-Version: 1.4 Specification-Vendor: example.com Implementation-Version: build96 util3.jar: META-INF/MANIFEST.MF: Extension-Name: com/example/util3 Specification-Title: example.com's util package Specification-Version: 1.4 Specification-Vendor: example.com Implementation-Version: build96
ResultDuring application installation, the shared library .jar files are added to the class path of the application class loader.
Related concepts
Class loaders
Shared library files
Related tasks
Managing shared libraries