Java je programovací jazyk vyvinutý inženýry ze Sun Microsystems. Jazyk je objektově orientovaný a navržený pro běh na mnohých architekturách bez nutnosti překompilování kódu pro každou z nich. Ačkoliv může být Java zkompilována jako nativní program, velká část její popularity může být připisována její přenositelnosti spolu s dalšími vlastnosti jako garbage collection. K umožnění platformní nezávislosti Java kompiler kompiluje Java kód do přechodné reprezentace zvané "Java bajtkód", která běží na JRE (Java Runtime Environment) a ne přímo na operačním systému.
Aby fungoval Java bajtkód, je třeba mít nainstalováno JRE (Java Runtime Environment). JRE, kromě jiného, poskytuje jádro knihoven, platformě nezávislou Java Virtual Machine a zásuvné moduly pro prohlížeče. JDK (Java Development Kit) přidává programovací nástroje, jako je bajtkód kompiler a debugger.
Způsob, jakým je Java na Gentoo ovládána, nedávno doznal mnoha změn a vylepšení. To se stalo velice nedávno a jako výledek byly všechny související balíčky označeny testovacím klíčovým slovem, např. ~x86. Tento dokument předpokládá, že používáte tento nový systém.
Pokud používáte stabilní strom oproti ~arch, budete muset přidat některé záznamy
do vašeho
# Základní balíčky Gentoo/Java dev-java/ant-core dev-java/ant-tasks dev-java/ant dev-java/java-config dev-java/java-config-wrapper dev-java/javatoolkit dev-java/sun-jce-bin # JDK =dev-java/sun-jdk-1.4* =dev-java/sun-jdk-1.5* =dev-java/ibm-jdk-bin-1.4* =dev-java/ibm-jdk-bin-1.5* =dev-java/jrockit-jdk-bin-1.4* =dev-java/jrockit-jdk-bin-1.5* =dev-java/blackdown-jdk-1.4* dev-java/kaffe # JRE =dev-java/sun-jre-bin-1.4* =dev-java/sun-jre-bin-1.5* =dev-java/ibm-jre-bin-1.4* =dev-java/blackdown-jre-1.4* # Virtuály virtual/jdk virtual/jre # Kompilery dev-java/eclipse-ecj dev-java/jikes # Dokumentace dev-java/java-sdk-docs # Různé balíčky, které byly aktualizovány na generaci-2, # kde generace-1 nebude sestavena a/nebo nepoběží správně dev-java/lucene # Tyto mají volitenou podporu Javy, # ale potřebují ~arch pro správnou funkci s generací-2 dev-util/subversion sys-libs/db
Pro existující instalace, bez ohledu na to, jestli jste instalovali nějakou Javu
předtím, se ujistěte, že jste postupovali podle
Nové instalace by neměly vyžadovat žádné další přípravy.
Gentoo poskytuje četná JRE (Java Runtime Environments) a JDK (Java Development Kit). Mimo jiné možnosti, máme:
Prodejce | JDK | JRE |
---|---|---|
Standard pro Javu 1.4 je dvojice Blackdown JRE/JDK, jelikož je volně dostupná ke stažení bez jakýchkoli registračních starostí.
JRE a JDK od Sun, IBM a BEA jsou všeobecně rychlejší, ale jejich získání dá trochu více práce, jelikož je vyžadováno přečtení a souhlas s jejich licencí před stažením (IBM dodatečně vyžaduje vaši registraci).
K instalaci vašeho profilového standardního JDK můžete spustit
V nedávných událostech Sun změnil licenci pro své JDK a JRE na více přátelskou pro Linuxové distribuce. Jako výsledek budou vydání Javy 1.5 a dále volně ke stažení bez jakýchkoli dalších potíží.
Jak již bylo zmíněno, nekteré JDK a JRE vyžadují několik kroků navíc před instalací. Jednoduše instalujte balíčky jako normálně. Ebuildy vás budou instruovat, kam jít a co stáhnout.
Měli byste stáhnout indikované soubory do
Gentoo má možnost mít nainstalováno více JDK a JRE bez konfliktů.
Použitím nástroje
Spuštění příkazu
# java-config --list-available-vms 1) Blackdown JDK 1.3.1 [blackdown-jdk-1.3] (/etc/env.d/java/20blackdown-jdk-1.3) 2) Blackdown JDK 1.4.2.02 [blackdown-jdk-1.4] (/etc/env.d/java/20blackdown-jdk-1.4) 3) Blackdown JRE 1.4.2.02 [blackdown-jre-1.4] (/etc/env.d/java/20blackdown-jre-1.4) 4) IBM JDK 1.4.2 [ibm-jdk-bin-1.4] (/etc/env.d/java/20ibm-jdk-bin-1.4) 5) IBM JRE 1.4.2 [ibm-jre-bin-1.4] (/etc/env.d/java/20ibm-jre-bin-1.4) 6) WebLogic JRockit 1.4.2.05 [jrockit-jdk-bin-1.4] (/etc/env.d/java/20jrockit-jdk-bin-1.4) 7) WebLogic JRockit 1.5.0.03 [jrockit-jdk-bin-1.5] (/etc/env.d/java/20jrockit-jdk-bin-1.5) 8) Sun JDK 1.3.1.13 [sun-jdk-1.3] (/etc/env.d/java/20sun-jdk-1.3) 9) Sun JDK 1.4.2.09 [sun-jdk-1.4] (/etc/env.d/java/20sun-jdk-1.4) *) Sun JDK 1.5.0.04 [sun-jdk-1.5] (/etc/env.d/java/20sun-jdk-1.5) 11) Sun JRE 1.4.2.09 [sun-jre-bin-1.4] (/etc/env.d/java/20sun-jre-bin-1.4) 12) Sun JRE 1.5.0.04 [sun-jre-bin-1.5] (/etc/env.d/java/20sun-jre-bin-1.5)
(Podle označení (preferováno)) # java-config --set-system-vm blackdown-jdk-1.4(Podle čísla) # java-config --set-system-vm 2
Jako běžný uživatel můžete použít
Přes slučování Java balíčků, VM může být změněna podle potřeby.
Vzhledem k&nbps;velké rozmanitosti dostupných VM nemáme zdroje na testování a
ověření, že každý balíček funguje na všech z nich. Pro ujištění, že každý
balíček se nainstaluje hladce, jsme definovali seznam
Změna VM po dobu instalace je také nutná, když např. vaše systémova VM je nastavena na 1.4 a balíček, který instalujete vyžaduje VM 1.5. Během instalace se použije preferovaná VM 1.5 a vaše systémová volba zůstane nedotčena.
Samozřejmě, že Gentoo je o volbě, a proto můžete přepsat tyto standardy
v
(Vždy chci použít sun-jdk, např. sun-jdk-1.4 pro 1.4, sun-jdk-1.5 pro 1.5, atd.) *=sun-jdk
(Kde je možné, vždy použij sun-jdk-1.5, kromě případu, když 1.4 nebo 1.3 VM je výslovně vyžadována) *=sun-jdk-1.5
# Pro 1.3 preferuji sun-jdk-1.4, ale když není dostupný, použij ibm-jdk-bin, # Pro 1.4 použij blackdown-jdk a pro 1.5 použij sun-jdk 1.3=sun-jdk-1.4 ibm-jdk-bin 1.4=blackdown-jdk 1.5=sun-jdk
Standardní Java kompiler použitý pro sestavování je javac, který je
v každé JDK. Kromě konfigurace VM použité během sestavování je také možné
nastavit, který kompiler bude použit. V podstatě
v
# Pokud to ebuild podporuje, # zkontroluje proměnnou COMPILERS od začátku do konce # a použije první kompiler, který je nainstalovaný COMPILERS="ecj-3.1 jikes javac"
Některé kompilery nepodporují všechny možné -target a -source argumenty. Proto každý kompiler v seznamu je zkontrolován, jestli podporuje zvolený -source/-target. javac bude fungovat ve všech případech, takže pokud není nalezen žádný jiný vhodný kompiler, bude použit javac.
Více detailů o každém kompileru je poskytnuto dále:
Jméno | Označení | Balíček | Popis |
---|---|---|---|
Nejdříve budete chtít vypsat seznam dostupných Java knihoven nainstalovaných na vašem systému, které byste mohly dát do vaší CLASSPATH. Zde je příklad výstupu:
# java-config --list-available-packages [xerces-2] The next generation of high performance, fully compliant XML parsers in the Apache Xerces family (/usr/share/xerces-2/package.env) [junit] Simple framework to write repeatable tests (/usr/share/junit/package.env) [bsh] BeanShell: A small embeddable Java source interpreter (/usr/share/bsh/package.env) [bcel] The Byte Code Engineering Library: analyze, create, manipulate Java class files (/usr/share/bcel/package.env) [log4j] A low-overhead robust logging package for Java (/usr/share/log4j/package.env) ...
Jména v hranatých závorkách (
# java-config --set-system-classpath log4j,xerces-2
Budete muset aktualizovat vaše prostředí pomocí odhlášení a přihlášení nebo
pomocí znovunačtení (source)
Pro uživatele
if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then source ${HOME}/.gentoo/java-env-classpath fi
Pokud skutečně chcete vlastní systémovou nebo uživatelskou CLASSPATH, můžete přidat něco podobného jako následující do svého shellového profilu. Ale nedoporučujeme to.
# export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"
Pro více informací týkajících se USE proměnných se zaměřte na kapitolu