Standardmäßig haben Java™-EE-Anwendungen keinen Zugriff auf die APIs anderer Anbieter, die in Liberty verfügbar sind. Zum Aktivieren dieses Zugriffs muss die Anwendung in der Datei
server.xml oder in einer eingeschlossenen Datei konfiguriert werden.
Informationen zu diesem Vorgang
Im folgenden Beispiel benötigt eine Anwendung mit dem Namen
Scholar Zugriff auf die APIs anderer Anbieter, die in Liberty verfügbar sind.
Die Anwendung verwendet eine allgemeine Bibliothek mit dem Namen Alexandria.
Diese Bibliothek befindet sich im Verzeichnis ${server.config.dir}/mylib/Alexandria.
Fehler vermeiden: Die Kompatibilität von APIs anderer Anbieter ist nach einem Upgrade nicht gewährleistet. Weitere Informationen
finden Sie im Artikel
Externe Liberty-Unterstützung.
Vorgehensweise
- Konfigurieren Sie das Klassenladen für die Anwendung so, dass die Anwendung auf die APIs anderer Anbieter zugreifen kann.
Der Standardwert für das Attribut apiTypeVisibility des Elements classloader ist spec, ibm-api, api, stable. Dabei
steht spec für die öffentlichen Spezifikation-APIs, die für die Kompilierung und die Laufzeit verfügbar sind, und ibm-api steht für APIs, die in Liberty verfügbar sind. Der Wert api steht für öffentliche APIs, die für die Kompilierung und die Laufzeit verfügbar sind und stable steht für Spezifikations-APIs anderer Anbieter, die standardmäßig für die Kompilierung und die Laufzeit verfügbar sind. Wird third-party in das Attribut apiTypeVisibility des Elements classloader eingeschlossen, sind APIs anderer Anbieter verfügbar.
Konfigurieren Sie in der Datei
server.xml oder in einer eingeschlossenen Datei die Sichtbarkeit
der API-Typen, indem Sie den folgenden Code hinzufügen:
<application id="scholar" name="Scholar" type="ear" location="scholar.ear">
<classloader apiTypeVisibility="spec, ibm-api, third-party" commonLibraryRef="Alexandria" />
</application>
- Wenn die Anwendung allgemeine Bibliotheken verwendet, definieren Sie diese
Bibliotheken für die Verwendung derselben Einstellung für die Sichtbarkeit der API-Typen.
Fügen Sie in der Datei
server.xml oder in einer eingeschlossenen Datei
den folgenden Code hinzu:
<library id="Alexandria" apiTypeVisibility="spec, ibm-api, third-party">
<fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
</library>