Ao tentar executar o gradle, recebo o seguinte erro:
# 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.
No entanto, quando eu checo a variável JAVA_HOME, recebo:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Meu JAVA_HOME está definido em .bashrc e eu verifiquei duas vezes se ele está definido como fonte.
A execução java -version
também confirma que JAVA_HOME está definido corretamente e está no 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)
Eu também verifiquei se os /usr/bin/java
links simbólicos aos /etc/alternatives/java
quais, por sua vez, são corretamente links simbólicos para/usr/lib/jvm/java-7-oracle/jre/bin/java
Além disso, verifiquei se não há definições JAVA_HOME duplicadas em .bash_profile
ou /etc/profile
.
Portanto, minha pergunta é como / por que o Gradle encontra /usr/lib/jvm/default-java
e, mais importante, como eu o aponto para o diretório correto?
Outros programas que exigem o JDK funcionam bem, então acho que é um problema de Gradle. Também tentei reinstalar o Gradle, o que não fez diferença.
Estou executando o Xubuntu de 64 bits (Ubuntu 13.10 base)
fonte
/usr/lib/jvm/default-java
diretório ou link simbólico? E como você instalou o Gradle?/usr/lib/jvm/default-java
dir. Instalado com apt (apt-get install Gradle)JAVA_HOME
ser definido. SeJAVA_HOME
estiver definido, o script será usado$JAVA_HOME/bin/java
para executar o Gradle. Caso contrário, ele usajava
(ou seja,java
tem que estar noPATH
). Talvez o pacote apt (de terceiros) use um script de início modificado.usr/lib/jvm/defult-java
. Obrigado pela ajudasource ~/.bashrc
ou reinicializou sua máquina após definir JAVA_HOME?Respostas:
Acontece que o binário Gradle específico que baixei do próprio repositório Ubuntu 13.10 tenta exportar JAVA_HOME. Obrigado a Lucas por sugerir isso.
/usr/bin/gradle
linha 70:Comentar essa linha resolve o problema, e Gradle encontra o caminho correto para o binário Java.
Se você acabou de baixar o binário do site deles , ele não tem esse problema, é um problema com a versão repo do Ubuntu. Também parece haver alguns outros problemas com a versão 13.10.
fonte
adicione um link simbólico
fonte
A solução é fazer JAVA_HOME == dir acima da lixeira onde javac mora como em
OK, então finalmente encontrei a lixeira acima da javac real, faça isso
acima pode ser simplificado e generalizado para
fonte
Para mim, esse erro ocorreu devido ao motivo pelo qual o Gradle foi instalado como sudo e eu estava tentando como usuário padrão executar o Gradle.
Experimentar:
ou
fonte
Tente instalar a versão mais recente do
gradle
,Se instalarmos a partir do ubuntu repo, ele instalará a versão antiga (para mim era o gradle 1.4). Na versão mais antiga, ele define java home from gradle como
export JAVA_HOME=/usr/lib/jvm/default-java
. A versão mais recente não possui esse problema.fonte
Você é
export
seuJAVA_HOME
? Sem exportação, a configuração não será propagada para os comandos iniciados dentro desse shell. Além disso,java -version
ele não usaJAVA_HOME
, mas usa o primeirojava
encontrado no seu caminho. Verifique se o seu.bashrc
visual é algo como isto:fonte
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
(sintaxe um pouco diferente, mas eu suponho que é o mesmo)gradle
próprio comando poderia estar definindo essa variável? Talvez a pessoa que instalou tenhagradle
criado um script de wrapper que defina variáveis de ambiente antes de iniciar o aplicativo. Ao usar tomcat, não é incomum para ocatalina.sh
(que é o script de inicialização) para chamar a umsetenv.sh
para configurar as variáveis de ambiente que podem incluirJAVA_HOME
Eu enfrentei esse problema ao executar o seguinte comando no Ubuntu:
Para resolver esse problema, executei as seguintes etapas:
Adicione JAVA_HOME a / etc / environment:
Adicionar:
Após salvar, leia-o:
Finalmente, você pode executar o comando build.
fonte
Eu tive o mesmo problema, mas não encontrei o comando de exportação na linha 70 no arquivo gradle para a versão mais recente 2.13, mas entendo um erro bobo lá, que é o seguinte,
Se você não encontrar a linha 70 com o comando export no arquivo gradle na sua pasta gradle / bin /, verifique seu ~ / .bashrc, se encontrar
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java
, remova/bin/java
-o desta linha, comoJAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64
, e no caminho >>> dissoexport PATH=$PATH:$HOME/bin:JAVA_HOME/
, seráexport PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java
. Então corrasource ~/.bashrc
.O motivo é que, se você verificar seu arquivo gradle, encontrará na linha 70 (se não houver comando de exportação) ou na linha 75,
Isso aconteceu no meu caso.
fonte
No meu Ubuntu, estou com dor de cabeça por 2 dias nessa questão.
Etapa 1. Digite o terminal
whereis java
e ele exibirá algo como istoEtapa 2. Anote o caminho:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
excluir o
bin/java
seu JAVA_HOME =
/usr/lib/jvm/java-8-openjdk-amd64
fonte
Para mim, um problema explícito na seção de argumentos da configuração de ferramentas externas no Eclipse.
fonte
Você também pode ir para a pasta bin dentro da pasta de instalação gradle e corrigir o parâmetro JAVA_HOME no arquivo gradle.bat. No meu caso, meu JAVA_HOME foi definido como c: \ Arquivos de programas \ java \ bin O JAVA_HOME no gradle.bat foi definido como% JAVA_HOME% \ bin \ java.exe.
Corrigi o JAVA_HOME no gradle.bat e funcionou.
Obrigado!!!
fonte
Crie um link simbólico para o diretório java padrão.
Você pode encontrar seu diretório java
fonte
Antes de executar o comando, tente digitar:
Onde
path_to_java_home
está a pasta ondebin/java
está.Se o java estiver instalado corretamente, você poderá encontrar sua localização usando o comando:
Não se esqueça de remover
bin/java
do final do caminho enquanto o colocaJAVA_HOME
fonte
Eu também tive um problema com isso. Dizia que o diretório estava errado quando estava correto. Acabei de criar uma variável local com o nome JAVA_HOME omitindo o final / bin / java. Funcionou bem para mim.
fonte
Se seu ambiente GRADLE_HOME e JAVA_HOME estiver definido corretamente, verifique seu diretório JDK e verifique se o arquivo java.exe está no caminho abaixo.
Como erro mencionado no arquivo gradle.bat
Não é possível localizar a instalação do java. Então encontre e defina
abaixo
%JAVA_HOME%/bin
se tudo estiver correto.Isso funciona para mim (minha conta foi desativada pelo cliente e o administrador deles removeu o java.exe do meu diretório.)
fonte
No meu dockercontainer (sendo mínimo o problema de não encontrar o java), o "qual" não estava instalado. A compilação de um projeto usando gradlew usou o qual em ./gradlew para encontrar a instalação java que resolveu o problema.
fonte
[Windows] Como já foi dito, parece que o .bat -file tenta encontrar o java.exe
%JAVA_HOME%/bin/java.exe
e não o encontra, poisbin
é repetido duas vezes no caminho. Remova esse extra/bin
do gradle.bat.fonte
A adição de linhas abaixo no build.gradle resolveu meu problema.
fonte