Remplacement d'une API spécifique par une autre version fournie par l'environnement du serveur
Si une application fournit (ou utilise une bibliothèque qui fournit) des classes qui sont également disponibles dans l'environnement du profil Liberty, par défaut, ce sont les classes du profil Liberty qui sont utilisées. Pour changer ce comportement afin que l'application utilise les versions alternatives des classes (et non celles de l'environnement du serveur), elle doit être configurée à cet effet dans le fichier server.xml ou dans un fichier inclus par celui-ci.
Pourquoi et quand exécuter cette tâche
Si une application Web inclut des classes qui sont également présentes dans l'environnement d'exécution du serveur, il peut être souhaitable de contrôler quel exemplaire de chacune de ces classes elle utilise. Par exemple, si l'application et l'environnement d'exécution du serveur contiennent deux versions différentes d'une même classe, il est important que l'application utilise sa propre version.
Par défaut, les classes provenant de l'environnement d'exécution du profil Liberty sont utilisées par toutes les applications Java™ EE. Vous pouvez passer outre ce comportement en utilisant l'attribut delegation de la configuration du chargeur de classe (élément classloader). Cette configuration est spécifique à une application particulière ou à une bibliothèque partagée susceptible d'être sélectionnée pour être utilisée par une application.
Exemple
Dans l'exemple suivant, une application nommée Scholar a besoin d'utiliser les classes qu'elle fournit (ou qui sont fournies par une bibliothèque qu'elle utilise) et non pas celles qui sont disponibles dans le profil Liberty.
Vous pouvez aussi utiliser l'attribut privateLibraryRef si l'application utilise sa propre copie d'une bibliothèque. Voir Partage d'une bibliothèque entre plusieurs applications Java EE.