Gradle trouve mal JAVA_HOME même si c'est correctement réglé
Lorsque vous essayez d'exécuter gradle, j'obtiens l'erreur suivante:
# gradle
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Cependant, lorsque je vérifie la variable JAVA_HOME j'obtiens:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Mon JAVA_HOME est défini .bashrc et j'ai vérifié qu'il est défini en tant que source.
De course java -version
confirme également que JAVA_HOME est réglé correctement et est sur le CHEMIN.
# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
J'ai aussi vérifié que /usr/bin/java
les liens symboliques à /etc/alternatives/java
qui à son tour correctement les liens symboliques à /usr/lib/jvm/java-7-oracle/jre/bin/java
De plus, j'ai vérifié qu'il n'y a pas dupliquer JAVA_HOME définitions dans .bash_profile
ou /etc/profile
.
Donc ma question est comment/pourquoi ne Gradle trouver /usr/lib/jvm/default-java
, et plus important encore, comment puis-je la faire pointer vers le bon répertoire?
D'autres programmes qui exigent le JDK beau travail, donc je pense que ses un Gradle question. J'ai aussi essayé de réinstaller Gradle qui ne fait pas de différence.
Je suis en 64bit Xubuntu (Ubuntu 13.10 base)
- Veuillez fournir la sortie d'erreur. Comme il est, il n'est pas clair d'où le message vient de. Aussi, avez-vous un
/usr/lib/jvm/default-java
répertoire ou faire un lien symbolique? Et comment avez-vous installer Gradle? - J'ai mis à jour la valeur de Q, mais c'est à peu près la pleine sortie d'erreur. Il n'y a pas de
/usr/lib/jvm/default-java
dir. Installé avec apt (apt-get install gradle) - Le Gradle script de démarrage n'a pas besoin de
JAVA_HOME
à définir. SiJAVA_HOME
est définie, le script utilise$JAVA_HOME/bin/java
pour exécuter Gradle. Sinon, il utilise lejava
(c'est à direjava
sur lesPATH
). Peut-être le (tiers) de paquets apt utilise une version modifiée de script de démarrage. - Oui ressemble à tout ce ppa j'ai eu le binaire de avait codé en dur et exporté le JAVA_HOME pour
usr/lib/jvm/defult-java
. Merci pour l'aide - Avez-vous fait
source ~/.bashrc
, ou de redémarrer votre ordinateur après la mise JAVA_HOME? - Il suffit de ne export JAVA_HOME=/chemin/vers/corriger/java/version
Vous devez vous connecter pour publier un commentaire.
S'avère que le particulier Gradle binaire, j'ai téléchargé à partir de l'Ubuntu 13.10 référentiel lui-même essaie d'export JAVA_HOME. Grâce à Lucas pour la suggestion de ce.
/usr/bin/gradle
ligne 70:En commentant cette ligne résout le problème, et Gradle trouve le bon chemin vers le binaire Java.
Si vous venez de télécharger les binaires de leur site web il n'a pas ce problème,
C'est un problème avec Ubuntu pensions de version. Il semble également y avoir d'autres problèmes avec la version 13.10.
export
question. mais nous devons appelersudo ./gradlew install
à le faire fonctionner parfois.export JAVA_HOME=/usr/lib/jvm/default-java
. C'est pourquoi, je n'arrivais pas à savoir d'où vient-il choisir le mauvais une. Je suis à l'aide de gradle la version 2.13 sur RHEL 7.3. Pour résoudre ce problème, j'ai ajouté la ligneexport JAVA_HOME=/correct/path/to/java
dans GRADLE_HOME/bin/gradle fichier.~/.bashrc
pour ne pas entrer cette commande à chaque fois après rechargementexport JAVA_HOME=/usr/lib/jvm/default-java
ajouter un lien symbolique
Solution est de faire JAVA_HOME == dir au-dessus de la corbeille où javac vie comme dans
OK, donc finalement trouvé la corbeille au-dessus de réels javac il
ci-dessus peut être simplifiée et généralisée à
Pour moi, cette erreur était due à la raison Gradle installé comme sudo et j'essayais tant que par défaut de l'utilisateur pour exécuter Gradle.
Essayer:
ou
Essayez d'installer la dernière version de
gradle
,Si nous installer à partir d'ubuntu repo, il va installer l'ancienne version , (pour moi c'était gradle 1.4). Dans une version plus ancienne, il met en java à la maison de gradle comme
export JAVA_HOME=/usr/lib/jvm/default-java
. Dernière version n'ont pas ce problème.Avez-vous
export
votreJAVA_HOME
? Sans exportation, le paramètre ne sera pas propagée aux commandes commencé à l'intérieur de la coquille. Aussi,java -version
ne pas utiliserJAVA_HOME
, mais utilise plutôt la premièrejava
trouve dans votre chemin. Assurez-vous que votre.bashrc
ressemble à quelque chose comme ceci:export JAVA_HOME=/usr/lib/jvm/java-7-oracle
(syntaxe légèrement différente, mais je suppose que c'est la même chose)gradle
de commande lui-même être le réglage de cette variable? Peut-être que la personne qui a installégradle
créé un script qui définir des variables d'environnement avant de lancer l'application. Lors de l'utilisation de tomcat, il n'est pas rare pour lescatalina.sh
(qui est le script de démarrage) pour appeler unsetenv.sh
pour définir des variables d'environnement qui peuvent inclureJAVA_HOME
J'ai eu le même problème, mais je n'ai pas trouver d'exportation de commande en ligne 70 dans gradle fichier pour la dernière version 2.13, mais je comprends une stupide erreur là, c'est la suite,
Si vous ne trouvez pas de ligne de 70 avec la commande exporter dans gradle fichier dans votre gradle dossier/bin/, puis vérifiez votre ~/.bashrc, si vous trouvez
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java
, puis retirez/bin/java
à partir de cette ligne, commeJAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64
, et il en chemin>>> au lieu de celaexport PATH=$PATH:$HOME/bin:JAVA_HOME/
, il seraexport PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java
. Ensuite, exécutezsource ~/.bashrc
.La raison en est, si vous vérifiez votre gradle fichier, vous trouverez en ligne 70 (si il n'y a pas d'exportation de commande) ou en ligne 75,
Qui s'est passé dans mon cas.
J'ai été confronté à ce problème quand je lance la commande suivante sur Ubuntu:
Pour résoudre ce problème, j'ai fait les étapes suivantes:
Ajouter JAVA_HOME /etc/environnement:
Ajouter:
Après l'enregistrement, lire:
Enfin, vous pouvez exécuter la commande créer.
Pour moi un ensemble explicite sur les arguments de la section de l'extérieur les outils de configuration dans Eclipse était le problème.
Vous pouvez aussi aller sur le dossier de la corbeille à l'intérieur de votre gradle dossier d'installation et de corriger les JAVA_HOME paramètre dans gradle.le fichier bat.
Dans mon cas, mon JAVA_HOME a été mis à c:\Program files\java\bin
Le JAVA_HOME dans gradle.chauve-souris a été mis à l' %JAVA_HOME%\bin\java.exe.
J'ai corrigé le JAVA_HOME dans gradle.chauve-souris et cela a fonctionné.
Merci!!!!!!
Créer un lien symbolique à la valeur par défaut de java répertoire.
Vous pouvez trouver votre java répertoire par
J'ai eu un problème avec ce trop. Il a dit de mal répertoire quand il était correct. Donc, je viens de créer une variable locale avec le nom de JAVA_HOME en omettant le final /bin/java. Il a bien fonctionné pour moi.
Dans mon dockercontainer (étant minime, le problème de ne pas trouver de java) a été, que "qui" n'a pas été installé. Comipling un projet à l'aide de gradlew utilisé qui en ./gradlew à trouver java
L'installation qui a résolu le problème.
Si votre GRADLE_HOME et JAVA_HOME de l'environnement sont définis correctement, puis vérifiez votre JDK répertoire et assurez-vous que vous avez java.exe fichier ci dessous chemin.
D'erreur mentionné dans gradle.fichier bat
Il n'est pas capable de localiser votre installation de java. Afin de trouver et définir
sous
%JAVA_HOME%/bin
si tout est correct.Cela fonctionne pour moi (mon compte a été désactivé par le client et leur admin a supprimé java.exe de mon répertoire.)
[Windows] Comme déjà dit, il ressemble .bat-fichier essaie de trouver java.exe de
%JAVA_HOME%/bin/java.exe
afin de ne pas le trouver depuisbin
est répétée deux fois en chemin.Remov supplémentaire
/bin
de gradle.chauve-souris.Avant d'exécuter la commande essayez d'entrer:
Où
path_to_java_home
est le dossier où votrebin/java
est.Si java est correctement installé, vous pouvez trouver son emplacement, à l'aide de la commande:
N'oubliez pas de retirer
bin/java
à partir de la fin du chemin, tout en mettant enJAVA_HOME
Dans mon Ubuntu, j'ai mal à la tête depuis 2 jours sur ce problème.
L'étape 1. Tapez sur le terminal
whereis java
puis il affichera quelque chose comme ceci
L'étape 2. Notez le chemin d'accès:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
exclure la
bin/java
votre JAVA_HOME =
/usr/lib/jvm/java-8-openjdk-amd64