Java
A Java egy programozási nyelv, amelyet eredetileg a Sun Microsystems fejlesztett ki, és amely platformfüggetlen virtuális gépet használ a Java bájtkód valós idejű végrehajtására. Népszerű választás azon fejlesztők számára, akik platformfüggetlen üzleti alkalmazásokat szeretnének létrehozni.
Mi a Java?
Áttekintés
A Java egy programozási nyelv, amelyet a Sun Microsystems fejlesztett ki. A nyelv objektum-orientált, és úgy tervezték, hogy több platformon is képes legyen futni anélkül, hogy a kódot minden egyes platformra újra kellene fordítani. Bár a Java natív programként is lefordítható, népszerűsége nagy mértékben hordozhatóságának tulajdonítható, valamint olyan további funkcióknak, mint például az automatikus memória-kezelés. A platformfüggetlenség lehetővé tétele érdekében a Java kódfordító a Java kódot egy köztes reprezentációvá, az úgynevezett Java bájtkóddá fordítja le, amely egy JVM-en (Java virtuális gépen) fut, tehát nem közvetlenül az operációs rendszeren.
A Java bájtkód futtatásához szükség van egy JRE (Java Runtime Environment) telepítésére. A JRE biztosítja az alapvető könyvtárakat, egy platformfüggő JVM-et, böngészők számára készült bővítményeket, valamint egyéb funkciókat. A JDK (Java Development Kit) pedig programozási eszközöket, például bájtkód-fordítót és hibakeresőt is tartalmaz.
JVM nyelvek
A Java virtuális gépet (JVM) nem kizárólag a Java programozási nyelv használja. Számos programozási nyelv használja a Java platformot, és a JVM-en fut. Ilyen példák például: Clojure, Apache Groovy, Kotlin, vagy Scala.
Egy virtuális számítógép telepítése
Választási lehetőségek
A Gentoo számos Java Runtime Environment (JRE) és Java Development Kit (JDK) lehetőséget kínál. A jelenlegi választék tartalmazza:
Gyártó | JDK |
---|---|
OpenJDK | dev-java/openjdk és dev-java/openjdk-bin |
Eclipse Temurin | dev-java/openjdk-jre-bin |
JRE/JDK telepítése
A profil alapértelmezett JDK telepítéséhez futtassa:
root #
emerge --ask --oneshot virtual/jdk
A profil alapértelmezett JRE telepítéséhez futtassa:
root #
emerge --ask --oneshot virtual/jre
Vegye figyelembe, hogy minden JDK tartalmaz egy JRE-t, így a JRE telepítése nem szükséges, ha egy JDK már telepítve lett.
Felesleges összetevők nélküli JRE beállítása
Néha nincs szükség egy teljes JRE-re a Java minden képességével. A Java használata egy szerveren gyakran nem igényel semmilyen grafikus felhasználói felületet, grafikai, hang- vagy akár nyomtatóval kapcsolatos funkciót. Egy egyszerűsített (amelyet néha headless néven is emlegetnek) JRE telepítéséhez néhány USE jelölőzászlót kell módosítani a kiválasztott JRE verzióhoz.
/etc/portage/package.use
Szükséges USE jelölőzászló módosításokdev-java/openjdk headless-awt -alsa -cups
dev-java/openjdk-bin headless-awt -alsa -cups
A jelenlegi Gentoo profil függvényében ez már fennállhat. Mint általában, az adott szoftvercsomagra vonatkozó USE jelölőzászló beállítások ellenőrizhetők emerge szimulációs módban történő futtatásával:
user $
emerge --pretend --verbose virtual/jre
Java Virtual Machine beállítása
Áttekintés
A Gentoo lehetővé teszi több JDK és JRE telepítését anélkül, hogy konfliktusokat okozna.
Alapértelmezés beállítása
A eselect parancs használható a telepített Java példányok (legyen az JRE vagy JDK) listájának megjelenítésére. Íme egy példa a kimenetre:
user $
eselect java-vm list
Available Java Virtual Machines: [1] openjdk-8 [2] openjdk-11 [3] openjdk-17 [4] openjdk-bin-8 system-vm user-vm
A user-vm jelölőzászló jelzi a felhasználó alapértelmezett JVM-jét. A system-vm jelölőzászló jelzi a rendszer alapértelmezett JVM-jét és az alapértelmezést, ha nincs beállítva felhasználói JVM. A zárójelekben lévő szám (például [1]) az adott JVM-re vonatkozó hivatkozás. Az alapértelmezett rendszer JVM beállításához:
root #
eselect java-vm set system 1
Az alapértelmezett felhasználói JVM beállításához:
user $
eselect java-vm set user 1
A meglévő shell munkamenetekhez a profil source parancs általi frissítése általában nem szükséges a felhasználói vagy rendszerszintű JVM módosításakor. Az egyetlen kivétel az, hogy olyan változók, mint a JAVA_HOME, továbbra is a régi helyre mutatnak, miután először állítottak be felhasználói JVM-et, vagy visszaállnak a rendszerszintű JVM-re.
Java böngésző bővítmények
A Java bővítmény támogatása megszűnt a JDK 9-ben[1].
Vegye figyelembe, hogy a Chromium alapú böngészők 42-es verziótól kezdődően, valamint a Firefox 52-es verziótól kezdődően már nem támogatják az NPAPI alapú bővítményeket[2]. Ez hatékonyan letiltja a Java bővítményt a modern böngészőkben.
Azok számára, akik egy adott használati esethez Java-képes böngészőt igényelnek, például elérhető a palemoon
/palemoon-bin
a palemoon
overlay-ben, amely hosszú távú támogatást nyújt az NPAPI-hoz, és így a JDK 8-ig terjedő Java bővítményekhez[3].
USE jelölőzászlók Java nyelvhez való használathoz
USE jelölőzászlók beállítása
További információkért a USE jelölőzászlókról tekintse meg a USE jelölőzászlókkal foglalkozó fejezetet a Gentoo kézikönyvben.
USE jelölőzászlók
- A
java
jelölőzászló hozzáadja a Java támogatást számos programhoz. - A
nsplugin
jelölőzászlót még mindig a www-plugins/lightspark használja.
A következő USE jelölőzászlók kerülnek a JAVA_PKG_IUSE-ba. További részletekért és Java-ra vonatkozó egyéb specifikus USE jelölőzászlókért tekintse meg a Gentoo Java USE flags oldalt.
- A
source
jelölőzászló telepíti a szoftvercsomag forráskódjának egy zip fájlját. Ezt hagyományosan arra használják, hogy az IDE-k 'hozzácsatolják' a forrást az éppen használt könyvtárakhoz. - A Java csomagok esetében a
doc
zászló API-dokumentációt épít javadoc segítségével.
Hibaelhárítás
Minecraft indító hibái
Egy konkrét hiba, amelyben a minecraft-launcher
néhány másodperc után összeomlott, és 'Alarm' és 'SaveToBuffer failed' hibát dobott, a net-misc/curl esetében a threads
USE jelölőzászló beállításával oldódott meg.
Amikor a minecraft-launcher
futtatása során a következő hiba jelentkezett:
user $
./minecraft-launcher
[0229/184549.183275:ERROR:sandbox_linux.cc(346)] InitializeSandbox() called with multiple threads in process gpu-process.
Ez a probléma a következő opcióval történő minecraft-launcher
futtatásával oldódott meg:
user $
MESA_GLSL_CACHE_DISABLE=true ./minecraft-launcher
További olvasnivaló a témában
- Java Developer Guide — covers specific details on Gentoo Java ebuilds.
- Project:Java/Why build from source
- Project:Java/Getting Involved
Külső források
- Configuring Java per directory with jEnv
- #gentoo (webchat) and #gentoo-java (webchat) on IRC
- Java 7 and bootstrapping icedtea on the Gentoo forums
További információk offline is elérhetők:
user $
man java-config
user $
java-config --help
Hibatkozások
- ↑ JDK 9 and the Java Plugin, java.com. Lekérve: 2018. november 30.
- ↑ How do I enable Java in my web browser?, java.com. Lekérve: 2018. november 30.
- ↑ Pale Moon future roadmap, palemoon.org. Lekérve: 2019. június 28.
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Joshua Nichols, Karl Trygve Kalleberg, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.