Lorsque j'essaye 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 dans .bashrc et j'ai vérifié deux fois qu'il est défini comme source.
L'exécution java -version
confirme également que JAVA_HOME est correctement défini et se trouve sur le PATH.
# 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 également vérifié que les /usr/bin/java
liens symboliques vers /etc/alternatives/java
lesquels les liens symboliques vers/usr/lib/jvm/java-7-oracle/jre/bin/java
De plus, j'ai vérifié qu'il n'y avait pas de définitions JAVA_HOME en double dans .bash_profile
ou /etc/profile
.
Ma question est donc de savoir comment / pourquoi Gradle trouve-t /usr/lib/jvm/default-java
-il et, plus important encore, comment le pointer vers le bon répertoire?
D'autres programmes qui nécessitent le JDK fonctionnent bien, donc je pense que c'est un problème de Gradle. J'ai également essayé de réinstaller Gradle, ce qui n'a fait aucune différence.
J'utilise Xubuntu 64 bits (base Ubuntu 13.10)
la source
/usr/lib/jvm/default-java
répertoire ou un lien symbolique? Et comment avez-vous installé Gradle?/usr/lib/jvm/default-java
dir. Installé avec apt (apt-get install gradle)JAVA_HOME
d'être défini. SiJAVA_HOME
est défini, le script utilise$JAVA_HOME/bin/java
pour exécuter Gradle. Sinon, il utilisejava
(c'est-java
à- dire doit être sur lePATH
). Peut-être que le package apt (tiers) utilise un script de démarrage modifié.usr/lib/jvm/defult-java
. Merci pour l'aidesource ~/.bashrc
ou redémarré votre ordinateur après avoir défini JAVA_HOME?Réponses:
Il s'avère que le binaire Gradle particulier que j'ai téléchargé à partir du référentiel Ubuntu 13.10 lui-même essaie d'exporter JAVA_HOME. Merci à Lucas de l' avoir suggéré.
/usr/bin/gradle
ligne 70:Le commentaire de cette ligne résout le problème et Gradle trouve le chemin correct vers le binaire Java.
Si vous téléchargez simplement le binaire à partir de leur site Web, il n'y a pas ce problème, c'est un problème avec la version du repo Ubuntu. Il semble également y avoir d'autres problèmes avec la version 13.10.
la source
ajouter un lien symbolique
la source
La solution est de rendre JAVA_HOME == dir au-dessus de bin où javac vit comme dans
OK, alors j'ai finalement trouvé le bac au-dessus du javac réel, alors faites-le
ci-dessus peut être simplifiée et généralisée à
la source
Pour moi, cette erreur était due à la raison pour laquelle Gradle était installé en tant que sudo et que j'essayais en tant qu'utilisateur par défaut d'exécuter Gradle.
Essayer:
ou
la source
Essayez d'installer la dernière version de
gradle
,Si nous installons à partir d'ubuntu repo, il installera l'ancienne version (pour moi, c'était gradle 1.4). Dans la version plus ancienne, il définit java à partir de gradle comme
export JAVA_HOME=/usr/lib/jvm/default-java
. La dernière version n'a pas ce problème.la source
Avez-vous
export
votreJAVA_HOME
? Sans exportation, le paramètre ne sera pas propagé aux commandes lancées à l'intérieur de ce shell. Aussi,java -version
n'utilise pasJAVA_HOME
, il utilise plutôt le premierjava
trouvé dans votre chemin. Assurez-vous que votre.bashrc
ressemble à quelque chose comme ceci:la source
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
commande elle-même pourrait- elle définir cette variable? Peut-être que la personne qui a installé agradle
créé un script wrapper qui définit les variables d'environnement avant de démarrer l'application. Lors de l'utilisation de tomcat, il n'est pas rare que lecatalina.sh
(qui est le script de démarrage) appelle unsetenv.sh
pour configurer des variables d'environnement qui peuvent inclureJAVA_HOME
J'ai rencontré ce problème lorsque j'exécute la commande suivante sur Ubuntu:
Pour résoudre ce problème, j'ai suivi les étapes suivantes:
Ajoutez JAVA_HOME à / etc / environment:
Ajouter:
Après avoir enregistré, lisez-le:
Enfin, vous pouvez exécuter la commande build.
la source
J'ai eu le même problème, mais je n'ai pas trouvé la commande d'exportation à la ligne 70 dans le fichier gradle pour la dernière version 2.13, mais je comprends une erreur stupide, à savoir la suite,
Si vous ne trouvez pas la ligne 70 avec la commande d'exportation dans le fichier gradle dans votre dossier gradle / bin /, vérifiez votre ~ / .bashrc, si vous trouvez
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java
, supprimez-le/bin/java
de cette ligne, commeJAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64
, et dans le chemin >>> à la place de celaexport PATH=$PATH:$HOME/bin:JAVA_HOME/
, ce seraexport PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java
. Alors courezsource ~/.bashrc
.La raison en est que si vous vérifiez votre fichier gradle, vous trouverez à la ligne 70 (s'il n'y a pas de commande d'exportation) ou à la ligne 75,
Cela s'est produit dans mon cas.
la source
Dans mon Ubuntu, j'ai mal à la tête pendant 2 jours sur ce problème.
Étape 1. Tapez sur le terminal
whereis java
puis il affichera quelque chose comme çaÉtape 2. Prenez note du chemin:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
exclure le
bin/java
votre JAVA_HOME =
/usr/lib/jvm/java-8-openjdk-amd64
la source
Pour moi, un ensemble explicite sur la section des arguments de la configuration des outils externes dans Eclipse était le problème.
la source
Vous pouvez également aller dans le dossier bin de votre dossier d'installation gradle et corriger le paramètre JAVA_HOME dans le fichier gradle.bat. Dans mon cas, mon JAVA_HOME a été défini sur c: \ Program files \ java \ bin Le JAVA_HOME dans gradle.bat a été défini sur% JAVA_HOME% \ bin \ java.exe.
J'ai corrigé le JAVA_HOME dans gradle.bat et cela a fonctionné.
Je vous remercie!!!
la source
Créez un lien symbolique vers le répertoire java par défaut.
Vous pouvez trouver votre répertoire java par
la source
Avant d'exécuter la commande, essayez d'entrer:
Où
path_to_java_home
est le dossier où vous vous trouvezbin/java
.Si java est correctement installé, vous pouvez trouver son emplacement en utilisant la commande:
N'oubliez pas de retirer
bin/java
de la fin du chemin tout en le mettant dansJAVA_HOME
la source
J'ai eu un problème avec ça aussi. Il a dit mauvais répertoire quand il était correct. Je viens donc de créer une variable locale avec le nom JAVA_HOME en omettant le fichier final / bin / java. Cela a bien fonctionné pour moi.
la source
Si votre environnement GRADLE_HOME et JAVA_HOME sont correctement définis, vérifiez votre répertoire JDK et assurez-vous que vous avez le fichier java.exe sous le chemin ci-dessous.
Comme erreur mentionnée dans le fichier gradle.bat
Il ne parvient pas à localiser votre installation java. Alors trouve et règle
sous
%JAVA_HOME%/bin
si tout est correct.Cela fonctionne pour moi (mon compte a été désactivé par le client et leur administrateur a supprimé java.exe de mon répertoire.)
la source
Dans mon dockercontainer (étant minime le problème de ne pas trouver java) était, ce "qui" n'était pas installé. La création d'un projet à l'aide de gradlew a utilisé qui dans ./gradlew pour trouver l'installation de java qui a résolu le problème.
la source
[Windows] Comme déjà dit, il ressemble à .bat -file essaie de trouver java.exe à partir de
%JAVA_HOME%/bin/java.exe
donc il ne le trouve pas car ilbin
est répété deux fois dans path. Supprimez cet extra/bin
de gradle.bat.la source
L'ajout de lignes ci-dessous dans build.gradle a résolu mon problème.
la source