By default, Java™ EE
applications do not have access to the third-party APIs available
in the Liberty profile. To enable this access, the application must
be configured in the server.xml file, or an included
file.
About this task
In the following example, an application that is called Scholar needs access to
the third-party APIs that are available in the Liberty profile.
The
application also uses a common library called Alexandria.
This library is located in the ${server.config.dir}/mylib/Alexandria directory.
Procedure
- Configure class loading for the application, so that the
application can access the third-party APIs.
The default value for the apiTypeVisibility attribute of the
classloader element is spec,ibm-api,api. Where
spec represents public specification APIs available for both compile
and run time, ibm-api represents APIs available in the Liberty profile,
and api represents public APIs available for both compile and run time.
Including third-party in the apiTypeVisibility
attribute of the classloader element makes third party APIs
available.
In the
server.xml file, or an included file, configure the API type
visibility by adding the following
code:
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
</application>
- Optional: If the application uses any common
libraries, set those libraries to use the same API type visibility
setting.
In the
server.xml file, or
an included file, add the following code:
<library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
<fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
</library>