Eu fui para as Variáveis de ambiente em 'Sistema' no painel de controle e criei duas novas variáveis, uma para variáveis de usuário e outra para variáveis de sistema. Ambos foram nomeados JAVA_HOME e ambos apontando para
C: \ Sun \ SDK \ jdk \ bin
Mas, por algum motivo, ainda recebo o erro abaixo ao executar um comando Java ...
BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation
Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml
Como posso resolver este problema?
Respostas:
Encontre o diretório de instalação do JDK
Primeiro, você precisa conhecer o caminho da instalação do Java Development Kit.
Abra o caminho de instalação padrão para o JDK:
Deve haver um subdiretório como:
Defina a variável JAVA_HOME
Depois de ter o caminho da instalação do JDK:
O artigo completo está aqui, no meu blog: Definindo a variável JAVA_HOME no Windows .
fonte
/Java/jre*
não é o diretório JDK, este é o diretório Java Runtime Enviroment. O JDK está em um diretório separado, a menos que você queira fazer algum truque malucoO que funcionou para mim foi adicionar a
%JAVA_HOME%\bin
variável de ambiente Path com aJAVA_HOME
variável de ambiente apontando para ajdk
pasta.fonte
Você precisa primeiro instalar o JDK no seu sistema.
Definir Java Home
JAVA_HOME = C: \ Arquivos de Programas \ Java \ jdk1.7.0 [Localização do diretório de instalação do JDK]
Depois de ter o caminho da instalação do JDK:
Definir caminho JAVA na variável do sistema
CAMINHO = C: \ Arquivos de Programas \ Java \ jdk1.7.0; [Anexar valor com ponto e vírgula]
fonte
No cmd (temporariamente para essa janela do cmd):
fonte
setx
, oJAVA_HOME
ainda será definido após o desligamento do computador. Então você não precisa defini-lo novamente. Tambémbin
não é necessário.JAVA_HOME
,PATH
eCLASSPATH
, em seguida, você pode ter um ambiente Java “portátil”.Você precisa configurá-lo como
C:\Sun\SDK\jdk
(Supondo que seja onde o JDK está instalado - não é o padrão) - Não coloque o \ binC:\Sun\SDK\jdk\bin
.Se seu aplicativo for executado apenas quando você estiver conectado como usuário atual, coloque-o nas variáveis de usuário - Se precisar executar para todos os usuários do sistema, coloque-o em Variáveis do sistema.
Também pode ser necessário adicionar
%JAVA_HOME%\bin
ao caminho (também depende se você o executa apenas do usuário ou de todos os usuários, incluindo o Sistema)fonte
http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html
Painel de controle> Java, guia Java, clique no botão Exibir. Em Parâmetros de Tempo de Execução, coloque:
Ou, quando você executa o Java, pode adicionar essa opção de linha de comando ao comando:
fonte
Uma imagem pode corrigir esse problema.
Para mais
fonte
Para aqueles que ainda estão perplexos com esse problema (tentei todas as sugestões acima) -
Se você está na versão de 64 bits do Windows e instalou o JDK de 32 bits, além de ajustar
PATH
variáveis, pode ser necessário ajustar o registro variáveis de .Eu estava arrancando os cabelos, depois de definir corretamente minhas
PATH
variáveis - ainda sem sucesso - e depois encontrar apenas entradas Java "desocupadas" em meu registro, aparentemente um beco sem saída para corrigir o "Java Funtime Environment" que falhou.Ao usar
Process Monitor
para assistir ao programa que estava tentando iniciar, para descobrir onde ele estava procurando no registro para Java (Runtime Environment), eu triunfantemente descobri que ele estava procurando na versão de 32 bits das entradas do registro, encontrada emHKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment
.Dentro dessa chave, você deve encontrar subchaves de diferentes versões Java instaladas (anteriores e / ou atuais). Clique na subchave da versão mais recente (minha subchave é 1.7.0_25, por exemplo). Depois de clicar nessa subchave, você verá os valores das seqüências de registro listados à direita e, particularmente,
JavaHome
eRuntimeLib
. Você precisa modificar os valores desses dois valores para refletir os valores atuais pasta e o arquivo jvm.dll, respectivamente.Por exemplo, no meu caso, os valores foram (anteriormente) respectivamente definidos em
C:\Program Files (x86)\Java\jre7
eC:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
que não existem na minha máquina. Eu tive que atualizá-los para a pasta e arquivo atuais deC:\Program Files (x86)\Java\jdk1.7.0_25\jre
eC:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll
.Novamente, isso dependerá inteiramente de qual versão do Java (JDK e / ou JRE) você instalou - 32 ou 64 bits - e que tipo de sistema operacional você está - 32 ou 64 bits. Apenas saiba que eles são refletidos em diferentes locais dentro do registro (como o
Wow6432Node
aplicativos de 32 bits, no meu caso com o JDK de 32 bits instalado em uma máquina de 64 bits).Agora que atualizei esses dois valores do registro, meu programa é executado sem falhas, sem mais soluços ou reclamações sobre um Java Runtime Environment ausente (proveniente do registro).
fonte
Esta é a solução oficial para definir o ambiente Java em www.java.com - aqui .
Existem soluções para o Windows 7, Windows Vista, Windows XP, Linux / Solaris e outros shells.
Exemplo
fonte
Windows 7
Vá para Painel de controle \ Todos os itens do painel de controle \ Contas de usuário usando o Explorer (não o Internet Explorer!)
ou
clique no botão Iniciar
clique na sua foto
Alterar minhas variáveis de ambiente
Novo...
(se você não tiver permissões suficientes para adicioná-lo na seção Variáveis do sistema, adicione-o à seção Variáveis do usuário)
Inclua JAVA_HOME como nome da variável e o local do JDK como valor da variável> OK
Teste:
set JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
fonte
Precisamos fazer uma distinção entre as duas variáveis de ambiente discutidas aqui de forma intercambiável. Uma é a variável JAVA_HOME . O outro é o caminho variável . Qualquer processo que faça referência à variável JAVA_HOME está procurando o caminho de pesquisa para o JDK, não o JRE. O uso da variável JAVA_HOME não se destina ao próprio compilador Java. O compilador está ciente de sua própria localização. A variável é destinada a outro software para localizar mais facilmente o compilador. Essa variável é normalmente usada pelo software IDE para compilar e construir aplicativos a partir do código-fonte Java. Por outro lado, o intérprete do Windows CMD e muitos outros softwares de primeiro e de terceiros referenciam a variável Path, não a variável JAVA_HOME.
Caso de uso 1: Compilando a partir do CMD
Por exemplo, se você não estiver usando nenhum software IDE e quiser compilar a partir do CMD, independentemente do diretório de trabalho atual, o que você deseja é definir a variável Path corretamente. No seu caso, você nem precisa da variável JAVA_HOME. Como o CMD está usando Path, não JAVA_HOME para localizar o compilador Java.
Caso de uso 2: Compilando a partir do IDE
No entanto, se você estiver usando algum software IDE, será necessário examinar primeiro a documentação. Pode exigir que JAVA_HOME seja definido, mas também pode usar outro nome de variável para a mesma finalidade. O padrão de fato ao longo dos anos tem sido JAVA_HOME, mas isso nem sempre pode ser o caso.
Caso de uso 3: Compilando a partir do IDE e CMD
Se, além do software IDE, você também desejar compilar a partir do CMD, independentemente do diretório de trabalho atual, além da variável JAVA_HOME, também será necessário anexar o caminho de pesquisa do JDK à variável Path.
JAVA_HOME vs. Caminho
Se o seu problema estiver relacionado à compilação de Java, você deverá verificar a variável JAVA_HOME e Path (onde aplicável). Se o seu problema estiver relacionado à execução de aplicativos Java, você deseja verificar sua variável Path.
A variável de caminho é usada universalmente em todos os sistemas operacionais. Por ser definido pelo sistema e por ser a variável padrão usada para localizar o JRE, quase nunca há problemas ao executar aplicativos Java. Especialmente no Windows, onde os instaladores de software geralmente configuram tudo para você. Mas se você estiver instalando manualmente, a coisa mais segura a fazer é talvez ignorar completamente a variável JAVA_HOME e apenas usar a variável Path para tudo, tanto para o JDK quanto para o JRE. Qualquer versão recente de um software IDE deve ser capaz de buscá-la e usá-la.
Symlinks
Os links simbólicos podem fornecer ainda outra maneira de referenciar o caminho de pesquisa do JDK pegando carona uma das variáveis de ambiente existentes.
Não tenho certeza sobre as versões anteriores das versões Oracle / Sun JDK / JRE, mas pelo menos o instalador do jdk1.8.0_74 anexa o caminho de pesquisa
C:\ProgramData\Oracle\Java\javapath
à variável Path e o coloca no início do valor da string. Este diretório contém links simbólicos para o java.exe, javaw.exe e javaws.exe no diretório JRE.Portanto, pelo menos com o Java 8 JDK e presumivelmente o Java 8 JRE independente, nenhuma configuração de variável de ambiente precisa ser feita para o JRE. Contanto que você use o pacote do instalador para configurá-lo. No entanto, pode haver diferenças na instalação do Windows. Observe que o Oracle JRE é fornecido com o JDK.
Se você achar que sua configuração do Java JDK está usando a versão errada do compilador ou parece estar funcionando por mágica, sem ser explicitamente definida (sem lançar o feitiço), é possível que haja um link simbólico em algum lugar nas variáveis de ambiente . Portanto, convém verificar o link simbólico.
fonte
vá para Mycomputer (Este PC) -> clique com o botão direito -> selecione propriedades -> Configurações avançadas do sistema -> variáveis de ambiente -> nas variáveis do sistema, clique no botão " Novo " e escreva JAVA_HOME no nome e no caminho da variável C: \ Arquivos de Programas \ Java \ jdk1. 8.0_131 onde jdk está presente no valor da variável-> clique em ok.
feche e reabra o prompt de comando após definir JAVA_HOME. Às vezes, as alterações não refletem no cmd aberto antes de definir o JAVA_HOME.
você também pode definir JAVA_HOME através do próprio terminal: SET JAVA_HOME = "C: \ Arquivos de Programas (x86) \ Java \ jdk1.8.0_131"
fonte
No Eclipse:
Window->Preferences->Java->Installed JREs
Use o recurso de pesquisa para garantir que sua instalação Java mais recente esteja listada; verifique se é o que está marcado. Este deve ser um JDK, não um JRE.
fonte
Ao adicionar o diretório Java à sua
PATH
variável, você pode colocá-lo logo no início. Eu tive o problema, que colocar o diretório Java no final doPATH
não funcionaria. Após a verificação, encontreijava.exe
no meuWindows\System32
diretório e parece que o primeiro vence, quando existem vários arquivos com o mesmo nome no seu diretórioPATH
...fonte
java.exe
ejavaw.exe
nas pastas do sistema pelas cópias do JRE / JDK, portanto, ainda deve funcionar. Se você instalá-lo manualmente (basta descompactar os arquivos), será necessário ter cuidado com a cópia que está sendo executada.Execute o Eclipse como administrador.
Isso resolveu meu problema. Eu ainda estou procurando a lógica por trás disso.
fonte
se você não reiniciou o computador após instalar o jdk, basta reiniciar o computador.
Se você deseja criar um java portátil e definir o caminho antes de usá-lo, basta criar um arquivo em lotes que expliquei abaixo.
Se você deseja executar este arquivo em lotes quando o computador iniciar, basta colocar o atalho do arquivo em lotes na pasta de inicialização. No Windows 7, a pasta de inicialização é "C: \ Usuários \ usuário \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização"
faça um arquivo em lotes como este:
nota:
java_home
epath
são variáveis. você pode fazer qualquer variável como desejar. por exemplo,set amir=good_boy
e você pode ver Amir por%amir%
ou você pode ver java_home por%java_home%
fonte
Após horas de trabalho em torno da maioria das soluções aqui, o problema foi resolvido para mim apenas com a instalação do JDK de 32 bits.
fonte
Você pode procurar na pasta Windows / System32 os seguintes arquivos: - java.exe - javaw.exe - javaws.exe
Como a variável path está incluindo esses arquivos, você pode ficar com dor de cabeça tentando descobrir por que a versão java-version ou javac -version continua apontando para o antigo JAVA_HOME: renomeie esses arquivos, remova a extensão com um sublinhado, por exemplo. E então, você apenas precisará criar a variável JAVA_HOME, adicioná-la à variável de caminho (por exemplo,% JAVA_HOME%) e anexar a partícula "\ bin". Dessa forma, você precisa alterar apenas a variável JAVA_HOME apontando para JRE ou JDK diferente e ter várias instalações de java apenas configurando JAVA_HOME.
Isso também significa que é melhor instalar o Java manualmente, sem um instalador, para que você possa brincar com ele.
fonte