缺省情况下,Java™ EE 应用程序无法访问 Liberty 中提供的第三方 API。要启用此访问权,必须在 server.xml 文件或随附的文件中配置该应用程序。
关于此任务
在以下示例中,名为 Scholar 的应用程序需要访问 Liberty 中提供的第三方 API。
应用程序还使用称为 Alexandria 的公共库。此库位于 ${server.config.dir}/mylib/Alexandria 目录中。
过程
- 为应用程序配置类装入操作,以便应用程序可以访问第三方 API。
classloader 元素的 apiTypeVisibility 属性的缺省值为 spec, ibm-api, api, stable。其中,spec 表示编译时和运行时可用的公用规范 API,ibm-api 表示 Liberty 中可用的 API。api 值表示编译时和运行时可用的公用 API,而
stable 表示缺省情况下编译时和运行时可用的稳定第三方规范 API。在 classloader 元素的 apiTypeVisibility 属性中包含 third-party 可使第三方 API 可用。
在
server.xml 文件或包含的文件中,通过添加下列代码来配置 API 类型可视性:
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
</application>
- 如果应用程序使用任何公共库,请将这些库设为使用相同的 API 类型可视性设置。
在
server.xml 文件或包含的文件中,添加下列代码:
<library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
<fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
</library>