![]() |
VOOZH | about |
Java est un langage de programmation originellement développé par Sun Microsystems]] qui utilise un runtime pour permettre aux applications développées en java de fonctionner sur différentes platformes. C'est un choix populaire pour les développeurs qui veulent créer des application multi-platforme..
Java est un langage de programmation qui a été développé par les ingénieurs de Sun Microsystems. C'est un langage orienté objet et conçu pour être exécuté sur des plateformes multiples sans avoir à recompiler le code pour chacune des plateformes. Bien que Java puisse être compilé comme un programme natif, la popularité de Java est essentiellement attribuable à sa portabilité, et à d'autres fonctionnalités comme la gestion automatique de la mémoire. Pour rendre possible l'indépendance de la plateforme, le compilateur Java compile le code en une représentation intermédiaire appelée Java bytecode qui tourne sur un environnement d'exécution Java ou JRE, appelé JVM (Java Virtual Machine) et pas directement sur le système d'exploitation.
Afin d'exécuter le Java bytecode, il faut avoir un environnement d'exécution Java (Java Run Time Environment ou JRE) installé. Le JRE procure, entre autre, les bibliothèques standard, une machine virtuelle Java dépendante de la plateforme et des modules d'extension pour les navigateurs. Un kit de développement Java (Java Development Kit ou JDK) ajoute des outils de programmation comme un compilateur de bytecote et un débogueur.
La machine virtuelle java n'est pas utilisée exclusivement par le langage de programmation java. Plusieurs autre langages se servent de la JVM. Par exemple nous avons Clojure, Apache Groovy, Kotlin ou Scala.
Gentoo procure de nombreux environnement d'exécution Java (JREs) et kits de développement Java (JDKs). Les choix courants comprennent :
| Vendeur | JDK |
|---|---|
| OpenJDK | dev-java/openjdk et dev-java/openjdk-bin |
| Eclipse Temurin | dev-java/openjdk-jre-bin |
Pour installer le "JDK" par défaut du profile, exécuter :
root #emerge --ask virtual/jdkPour installer le "JRE" par défaut du profile, exécuter :
root #emerge --ask virtual/jreSometimes there is no need for a full JRE with all the capabilities of java. Using java on a server often does not require any GUI, graphical, sound or even printer related features. To install a simplified (sometimes also referred to as headless) JRE, a few USE flags need to be changed for the selected JRE flavor.
/etc/portage/package.useRequired USE flag changesdev-java/openjdk headless-awt -alsa -cups dev-java/openjdk-bin headless-awt -alsa -cups
Depending on the current Gentoo profile, this might already be the case. As usual, the USE flag settings that are applicable to a particular package can be checked by running emerge in pretend mode:
user $emerge --pretend --verbose virtual/jreGentoo a la capacité à avoir plusieurs JDKs et JREs installés sans que cela ne crée de conflit.
En exécutant la commande java-config --list-available-vms vous obtiendrez une liste de tous les JREs et JDKs installés sur votre système. Voici un exemple de sortie de cette commande :
root #java-config --list-available-vmsThe following VMs are available for generation-2: 1) IcedTea JDK 7.2.6.3 [icedtea-7] *) IcedTea JDK 3.0.1 [icedtea-8]
Le signe * indique la machine virtuelle courante (machine virtuelle système ou utilisateur lorsque définie). Le nom entre les crochets carrés ([]) est la poignée ou l'identifiant de cette machine virtuelle particulière. Vous pouvez utiliser la poignée ou le numéro pour la définir avec java-config --set-system-vm. Voici un exemple de comment définir la machine virtuelle système.
root #java-config --set-system-vm icedtea-7Now using icedtea-7 as your generation-2 system JVM
Vous pouvez également la définir à l'aide des numéros.
root #java-config --set-system-vm 3Now using icedtea-7 as your generation-2 system JVM
sourcer le profil pour que la mise à jour de la machine virtuelle utilisateur/système prenne effet .For those who need a Java-enabled browser for a specific use case, there are www-client/palemoon::palemoon or www-clint/palemoon-bin::palemoon packages available in the palemoon overlay, which has long-term support for NPAPI and thus Java plugins up to JDK 8[3].
Pour plus d'information à propos des options de la variable USE, reportez-vous à la page sur la variable USE
Following USE flags go in JAVA_PKG_IUSE, see Gentoo Java USE flags for details and other specific USE flags of Java:
For those that may need multiple versions of Java, one may use slotted packages.
root #emerge --ask dev-java/openjdk:8root #emerge --ask dev-java/openjdk:11root #emerge --ask dev-java/openjdk:17root #emerge --ask dev-java/openjdk:21The default can then be changed by setting a default.
If you get an error when installing openjdk:21, emerge openjdk-bin:21.
root #emerge --ask dev-java/openjdk-bin:21user $./minecraft-launcher[0229/184549.183275:ERROR:sandbox_linux.cc(346)] InitializeSandbox() called with multiple threads in process gpu-process.
This was solved by executing minecraft-launcher with the following option:
user $MESA_GLSL_CACHE_DISABLE=true ./minecraft-launcher