Java Language Le classpath du bootstrap


Exemple

Les classloaders Java normaux recherchent d'abord les classes dans le chemin de classe bootstrap, avant de rechercher les extensions et le chemin de classe de l'application. Par défaut, le classpath bootstrap se compose du fichier "rt.jar" et d'autres fichiers JAR importants fournis par l'installation JRE. Celles-ci fournissent toutes les classes de la bibliothèque de classes Java SE standard, ainsi que diverses classes d'implémentation "internes".

Dans des circonstances normales, vous n'avez pas à vous en préoccuper. Par défaut, les commandes telles que java , javac , etc. utiliseront les versions appropriées des bibliothèques d'exécution.

Très occasionnellement, il est nécessaire de remplacer le comportement normal du runtime Java en utilisant une version alternative d'une classe dans les bibliothèques standard. Par exemple, vous pourriez rencontrer un bogue "show stopper" dans les bibliothèques d'exécution que vous ne pouvez pas contourner par des moyens normaux. Dans une telle situation, il est possible de créer un fichier JAR contenant la classe modifiée, puis de l'ajouter au chemin de classe bootstrap qui lance la machine virtuelle Java.

La commande java fournit les options -X suivantes pour modifier le chemin de classe bootstrap:

  • -Xbootclasspath:<path> remplace le -Xbootclasspath:<path> démarrage actuel par le chemin fourni.
  • -Xbootclasspath/a:<path> ajoute le chemin fourni au chemin de classe de démarrage actuel.
  • -Xbootclasspath/p:<path> ajoute le chemin fourni au chemin de classe de démarrage actuel.

Notez que lorsque vous utilisez les options bootclasspath pour remplacer ou remplacer une classe Java (etc.), vous modifiez techniquement Java. Si vous distribuez votre code, cela peut avoir des conséquences sur la licence. (Reportez-vous aux conditions générales de la licence binaire Java… et consultez un avocat.)