Le package J2SDK contient l'environnement de développement Java de Sun. Il est utile pour développer des programmes Java et fournit l'environnement d'exécution nécessaire pour faire fonctionner les programmes Java. Il inclut aussi un plug-in pour les navigateurs de façon à ce qu'ils comprennent Java.
JDK arrive en deux versions, un binaire précompilé et un package source. Précédemment, le plug-in inclus dans le package binaire du JDK était inutilisable sur LFS dû aux incompatibilités avec les navigateurs compilés avec GCC-3. Ce n'est plus le cas.
Le package source requiert de s'enregistrer sur le site développeur de Sun et d'accepter la licence 'Sun Community Source License'. Le code source ne peut pas être téléchargé à partir de certains pays, donc, pour les utilisateurs de ce pays, le binaire est la seule option.
Même si vous pensez compiler le source JDK, vous aurez besoin de télécharger la version binaire pour créer le bootstrap de la construction du JDK. Suivez le lien ci-dessous pour télécharger à la fois le package des sources et celui du binaire. Lors du téléchargement du source, pensez aussi à télécharger le package d'entêtes de Mozilla disponible au même endroit.
Téléchargement (HTTP): http://freshmeat.net/projects/sunjdk
Version utilisée (binaire): 1.4.2_01
Taille du téléchargement (binaire): 59 Mo
Taille du téléchargement (source): 77 Mo
Estimation de l'espace disque requis: 1810 Mo
Estimation du temps de construction: 85 SBU
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-fix-intl-files.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-gcc33-1.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-link-missing-libs.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-motif-mkmsgcat.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-remove-fixed-paths.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-syntax-fixes.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-use-included-motif.patch
Les deux versions seront installées en parallèle. Vous pouvez choisir d'en garder une ou les deux.
L'installation du JDK précompilé est facile, elle change le bit d'exécutable pour le fichier téléchargé, va dans le répertoire où vous souhaitez l'installer et exécute le fichier téléchargé.
VERSION=1.4.2_01 && MV=`echo $VERSION | cut -d "_" -f 1,1` && V=`echo ${VERSION} | sed -e "s/\./_/g"` && chmod +x j2sdk-${V}-linux-i?86.bin && ./j2sdk-${V}-linux-i?86.bin && cd j2sdk${VERSION} && install -d /opt/j2sdk/j2sdk-precompiled-${MV} && mv * /opt/j2sdk/j2sdk-precompiled-${MV} |
La version binaire est maintenant installée.
Si vous ne voulez pas compiler les sources, ou ne pouvez pas pour des raisons de licence, passez directement à la section de configuration.
Ajoutez le JDK tout juste compilé dans le chemin.
export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} && export PATH=$PATH:${JAVA_HOME}/bin |
Décompressez et appliquez le correctif aux sources:
VERSION=1.4.1 && V=`echo $VERSION | sed -e "s/\./_/g"` && unzip j2sdk-${V}-src-scsl.zip && unzip j2sdk-${V}-mozilla_headers-unix.zip && patch -Np1 -i j2sdk-${VERSION}-gcc33-1.patch && patch -Np1 -i j2sdk-${VERSION}-fix-intl-files.patch && patch -Np1 -i j2sdk-${VERSION}-link-missing-libs.patch && patch -Np1 -i j2sdk-${VERSION}-remove-fixed-paths.patch && patch -Np1 -i j2sdk-${VERSION}-syntax-fixes.patch && patch -Np1 -i j2sdk-${VERSION}-motif-mkmsgcat.patch && patch -Np1 -i j2sdk-${VERSION}-use-included-motif.patch |
Mettez en place quelques variables qui modifieront la construction:
export ALT_BOOTDIR="$JAVA_HOME" && unset JAVA_HOME && unset CLASSPATH unset CFLAGS unset CXXFLAGS unset LDFLAGS export ALT_DEVTOOLS_PATH="/usr/bin" && export BUILD_NUMBER="blfs-`date +%s`" && export DEV_ONLY=true && export ALT_MOZILLA_PATH=$PWD && export INSANE=true && export MAKE_VERBOSE=true && export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts |
De plus, si vous souhaitez le faire en parallèle, ajoutez ce qui suit (ajustez MAKE_PARALLEL à votre appréciation):
export HOTSPOT_BUILD_JOBS=$MAKE_PARALLEL |
Si le Motif inclus ne peut pas être construit correctement, l'erreur est remarquée plus tard lors de la construction. Une solution est de construire la bibliothèque Motif avant de compiler le J2SDK.
cd motif/lib/Xm && make && cd ../../.. |
Construisez et installez J2SDK avec les commandes suivantes. Il y aura beaucoup de messages sur des fichiers manquants, messages ressemblant à des erreurs. Tant que le construction continue, les messages ne sont pas gênants, donc ignorez-les.
cd control/make && make && cd ../.. && cd control/build/linux-i?86 && cp -a j2sdk-image /opt/j2sdk/j2sdk-1.4.1 |
export ALT_BOOTDIR="$JAVA_HOME" : Cette variable indique l'emplacement du bootstrap JDK.
export ALT_MOZILLA_PATH=$PWD : Cette variable pointe vers l'emplacement où vous avez décompressé les entêtes de Mozilla.
export ALT_DEVTOOLS_PATH="/usr/bin" : Ceci modifie l'emplacement où l'outil de construction trouvera les exécutables nécessaires.
export BUILD_NUMBER="blfs-`date +%s`" : Ceci vous aidera à identifier la version, utilisée lors de la compilation, de l'environnement d'exécution et de la machine virtuelle en ajoutant cette information à la version donnée par java -version.
export DEV_ONLY=true : Cette commande empêche la compilation de la documentation et élimine une dépendance pour rpm.
unset JAVA_HOME : Ceci supprime la variable JAVA_HOME pour prévenir contre un mauvais emplacement lors de la compilation.
unset CLASSPATH : Ceci supprime la variable CLASSPATH pour prévenir contre un mauvais emplacement lors de la compilation.
unset CFLAGS... : Ces variables posent problème lors de la compilation. Ne jamais les laisser.
export INSANE=true : Si vous n'indiquez pas que vous êtes malade, la construction ne continuera pas. La plateforme certifiée pour la construction est une RedHat 6.1. La variable ci-dessus vous assure que toutes les erreurs relatives à la compilation sur une plateforme non certifiée seront changées en messages d'avertissement.
export MAKE_VERBOSE=true : Autorise l'affichage de l'évolution de la compilation sur la console.
export ALT_CACERTS_FILE... : Spécifie le certificat à utiliser.
Nous avons deux SDK Java 2 installés dans /opt/j2sdk. Décidez ce que vous souhaitez utiliser par défaut. Par exemple si vous décidez d'utiliser la source J2SDK, faites la suite:
ln -nsf j2sdk-1.4.1 /opt/j2sdk/j2sdk |
Ajoutez les lignes suivantes à votre fichier de démarrage (c'est-à-dire /etc/profile).
export JAVA_HOME=/opt/j2sdk/j2sdk export PATH=$PATH:$JAVA_HOME/bin |
Ajoutez $JAVA_HOME/man à votre variable MANPATH ou dans /etc/man.conf.
Le plugin Java est dans le répertoire $JAVA_HOME/jre/plugin/i?86/ns610/. Créez un lien symbolique vers le fichier dans ce répertoire à partir de votre répertoire plugins.
Le package J2SDK contient appletviewer, extcheck, idlj, jar, jarsigner, java, javac, javadoc, javah, javap, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid, rmiregistry, rmiregistry, serialver, servertool et tnameserv.
appletviewer lance des applets Java en dehors du contexte d'un navigateur.
extcheck vérifie à partir d'un fichier jar spécifié les conflits par rapport à son nom et à sa version avec toutes les extensions installées par le JDK.
idlj génère des bindings Java à partir d'un fichier IDL donné.
jar combine plusieurs fichiers en une seule archive JAR.
jarsigner signe les fichiers JAR (Java ARchive) et vérifie les signatures et l'intégrité d'un JAR signé.
java lance une application Java en démarrant l'environnement d'exécution, en chargeant la classe spécifiée et en indiquant la méthode principale de cette classe.
javac lit les définitions de classe et d'interface, écrit en Java, et les compile en fichiers bytecode.
javadoc parcourt les déclarations et les commentaires de documentation dans un ensemble de fichiers source et produit un ensemble correspondant de pages HTML, décrivant les classes, interfaces, construteurs, méthodes et champs.
javah génère les fichiers source et entête C, nécessaire pour l'implémentation des méthodes natives.
javap déassemble un fichier classe Java.
jdb est un simple debugger en ligne de commandes pour les classes Java.
keytool est un utilitaire de gestion de clé et de certificat.
native2ascii convertit les fichiers contenant un encodage de caractères non supporté en un fichier contenant des caractères encodés en Latin-1 ou en Unicode.
orbd est utilisé pour permettre aux clients de trouver et invoquer de manière transparente des objets persistants sur des serveurs avec l'environnement CORBA.
policytool crée et gère un fichier de règles, graphiquement.
rmic génère des squelettes de fichiers de classe pour des objets distants à partir des noms de classes Java compilés, contenant des implémentations d'objets distants.
rmid démarre un démon d'activation système.
rmiregistry crée et démarre un registre d'objets distants sur un port spécifié sur l'hôte courant.
serialver retourne la variable serialVersionUID pour un ou plusieurs classes dans un format convenable pour être copié dans une classe.
servertool procure une interface facile à utiliser pour les programmeurs d'applications, pour leur permettre d'enregistrer, supprimer, démarrer et arrêter un serveur.
tnameserv démarre le serveur de nom Java IDL.
Précédent | Sommaire | Suivant |
librep-0.16.2 | Niveau supérieur | Ruby-1.8.0 |