Problèmes d'installation SDK Java EE sous Linux
Question
J'ai installé Java 6 JRE sur mon VPS très bien, mais je ne peux pas obtenir l'installation EE SDK pour exécuter même.
root@vps [/usr/java]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)
Cependant, lorsque je tente de lancer java_ee_sdk-6-unix.sh
:
./ ../ java_ee_sdk-6-unix.sh* jre1.6.0_18/ jre.bin*
root@vps [/usr/java]# ./java_ee_sdk-6-unix.sh
Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME
Mais le hic est que je mets correctement mes variables d'environnement:
root@vps [/usr/java]# echo $PATH
/usr/java/jre1.6.0_18:/usr/java/jre1.6.0_18/bin:/usr/java/jre1.6.0_18/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
root@vps [/usr/java]# export -p | grep JAVA_HOME
declare -x JAVA_HOME="/usr/java/jre1.6.0_18"
Je tire mes cheveux ici, des idées?
La solution
Avez-vous un JDK installé? Vous voudrez probablement mettre $JDK_HOME/bin
sur votre PATH, pas le /bin
d'un JRE, comme jar
est livré avec JDK, pas JRE.
Autres conseils
Pour ce faire:
- Supprimer toutes les installations de Java.
- Installer le Java SDK (auto-extractibles) dans /opt/jdk1.6.0_16 (par exemple)
- Créer un lien symbolique:
ln -s /opt/jdk1.6.0_16 /opt/jdk
-
Modifier
$HOME/.bashrc
:JAVA_HOME = / opt / jdk
PATH = $ PATH: $ HOME / bin: $ JAVA_HOME / bin -
Déconnexion et reconnectez-vous.
Cette offre de nombreux avantages:
- Vous pouvez installer plusieurs versions du SDK et ont besoin que passer un lien symbolique.
- Vous savez où tous les fichiers sont situés.
- Vous savez exactement quelle version de Java est utilisé.
- Aucune autre version sont installées, donc il ne peut y avoir des conflits.
Je l'ai fait pendant des années et ne l'ai jamais eu de problèmes avec Java sous Linux, à l'exception des paquets qui ne détectent pas que Java est installé et que vous tentez d'installer le OpenJDK.
En outre, rester à l'écart de l'OpenJDK que ses polices sont terribles à voir.
Solution rapide et sale pour moi:
sudo apt-get install jarwrapper fastjar
Ensuite, il suffit d'exécuter votre script .sh et le tour est joué!
Je suis la même erreur. J'ai enlevé OpenJDK utilisant apt-get (je suis sous Ubuntu 11.10) puis téléchargé Java JDK 1.7 (qui vient naturellement avec JRE) et déballer cette sous / usr / local / java - cela m'a donné un nouveau répertoire:
/usr/local/java/jdk1.7.0_04
Ensuite, j'ajouté:
/usr/local/java/jdk1.7.0_04
pour $ PATH, $ set JAVA_HOME et JRE_HOME $ comme
/usr/local/java/jdk1.7.0_04
/usr/local/java/jdk1.7.0_04/jre
respectivement.
Tout fonctionne bien. Je peux compiler progams java en utilisant javac et les exécuter en utilisant java . Jar programme fonctionne bien aussi. Alors, pourquoi installer ee java se plaindre à ce sujet? Tous les indices comment résoudre ce problème?
J'ai eu le problème, mais il était lié au compte de l'utilisateur lors de l'exécution du sudo fichier .sh. J'installe Glassfish v3 sur un nouveau VPS serveur hébergé avec Ubuntu 10.4 64Bit.
sudo chmod +x java_ee_sdk-6u2-jdk-linux-x64.sh
sudo ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt
seulement pour obtenir exactement la même erreur que vous rencontrez d'abord:
Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME
idiot vraiment, quand je courais la commande comme ceci:
./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt
A ma surprise, il a répondu avec:
Welcome to GlassFish V3 installer
Using the user defined JAVA_HOME : /opt/jdk
Entering setup...
Ce fut après que j'avais installé mon JAVA_HOME dans le fichier: /etc/bash.bashrc
JAVA_HOME=/opt/jdk
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
Dans mon cas, j'avais jdk1.6.0_16 extrait dans mon répertoire personnel et avait des liens symboliques vers java
et /javac
dans /bin
. Ensuite, je rencontrais l'erreur décrite ci-dessus dans la question.
Cependant, une fois que j'inclus un lien symbolique vers jar
dans /bin
, le script shell pour installer Java EE a couru comme prévu.
Cette information fonctionne pour moi ... La première méthode a été enought.
Cordialement.
http://ubuntuforums.org/showthread.php?p=11485538#post11485538
Mes 2 cents ...
J'ai le même problème et le résoudre en installant un utilitaire jar.
« mat b » dit que le problème était (bien mon problème), que le programme d'installation n'a pas été de trouver un utilitaire jar (programme de pot), nécessaire pour exécuter les fichiers d'installation.
Avez-vous un JDK installé? Vous voudrez probablement mettre JDK_HOME $ / bin sur votre PATH, pas le / bin d'un JRE, en pot est livré avec JDK, pas JRE.
Mais dans mon cas (ayant Ubuntu 11.10 64 bits et JAVA_HOME -> / usr / lib / jvm / java-6-openjdk) le problème n'a pas été résolu en réglant le JDK / bin dir sur le PATH. Au lieu de cela, je devais installer un paquet utilitaire jar (en utilisant Synaptic) version appelée Jarwrapper 0.37ubuntu1.
Après l'avoir installé, le script d'installation de JDK Oracle (java_ee_sdk-6u3-jdk7-linux-x64-ml.sh) a couru très bien.
Cordialement,