Enquanto correndo
sencha app build production
Eu estou recebendo o seguinte erro:
Erro: chave de registro 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion '
tem o valor '1,8', mas '1,7' é obrigatório. Erro: não foi possível encontrar java.dll Erro: Não foi possível encontrar Java SE Runtime Environment.
java -version
, o comando está mostrando o seguinte:
Java versão "1.8.0_40" Java (TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot (TM) 64-Bit Server VM (build 25.40-b25, modo misto)
Não é possível descobrir onde o caminho está errado. Qualquer ideia?
----------------------- EDITAR -------------------------- ----------------------
Nota : Estou usando o Windows 7 (64 bits).
Tentei desinstalar o cmd sencha touch e reinstalar. Mas ainda assim mesmo erro.
Desinstalei todas as instâncias da versão java e reinstalei a mais recente, mas o problema persiste.
fonte
System32
resolverá o problema.No meu caso (Windows 7 de 64 bits), fiz apenas o seguinte:
Depois disso, fechei todos os consoles de linha de comando abertos, os reabri e executei java -version .
fonte
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
de "1,8" para "1,7"fonte
re: usuários do Windows
Não. Não remova a referência de ambiente Javapath de sua variável PATH.
O motivo pelo qual o registro não funcionou é que o script Oracle Javapath precisa ser executado na sequência PATH à frente dos diretórios JRE e JDK - ele resolverá a versão atual:
coloque este diretório no HEAD de sua
%PATH%
variável:[ou onde quer que esteja em sua área de trabalho]
então seu PATH será parecido com isto - o meu, por exemplo
Você verá então a versão atual correta:
fonte
Minha experiência:
Estou usando o Windows 8.1 e fiz o downgrade da versão JAVA de 1.8 para 1.7 e estava recebendo o mesmo erro.
Erro: a chave de registro 'Software \ JavaSoft \ Ja tem o valor' 1.7 ', mas' 1.8 'é necessária.
Eu apaguei java.exe , javaw.exe e javaws.ex e de C: \ Windows \ System32 pasta e funcionou para mim.
fonte
Eu tive o mesmo problema. Uma solução simples que funcionou para mim é reorganizar as entradas no
PATH
forJRE/JDK
. Este problema começou a aparecer depois de instalarJRE 8
cuja instalação colocou alguns arquivos executáveis emSystem32 or SysWOW64
diretórios, esses arquivos executáveis estão bagunçando. Para resolver o problema:Crie uma variável de ambiente apontando para o início do JDK como
JAVA_HOME
.set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45
Coloque a entrada
%JAVA_HOME%\bin
no início em sua variável de ambiente PATH. Anexando o valor existente dePATH
. Por exemplo:path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
fonte
Não excluí nenhum dos arquivos java.exe, mas alterei a ordem do meu sistema - variável "caminho" - de modo que refletisse% JAVA_HOME% \ bin como a primeira entrada. Isso funcionou.
fonte
O erro é explícito ...
... você está tentando usar o
java.exe
executável 1.7 enquanto a chave de registroHKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
>CurrentVersion
tem o valor 1.8.O tema recorrente para soluções propostas é que o erro é um erro de configuração . O erro pode ser resolvido de várias maneiras diferentes (por exemplo, reconfiguração do ambiente de usuários ou remoção de executáveis java com os dedos cruzados e esperar que exista outro fallback
java.exe
nos usuários%PATH%
e que o fallbackjava.exe
seja o executável correto).A solução correta depende do que você está tentando alcançar: "você está tentando fazer o downgrade do jdk-8 para o jdk-7? Está tentando fazer o upgrade para o jdk-8? ..."
Etapas de reprodução
atualizar a
%PATH%
variável de ambiente do usuário , removerC:\Program Files (x86)\Common Files\Oracle\Java\javapath
em um novo prompt de comando
java -version
Solução (ões)
Solução da OP https://stackoverflow.com/a/29769311/1423507 é uma abordagem " cruzada de dedos e espero que haja um fallback
java.exe
nos usuários%PATH%
e que o executável do fallback seja correto" para o erro. Dadas as etapas de reprodução, remover ojava.exe
,javaw.exe
ejavaws.exe
executáveisC:\Windows\System32
(apenas no meu caso) resultará em não ter mais nenhumjava.exe
presente nos usuários,%PATH%
resultando no erro'java' is not recognized as an internal or external command, operable program or batch file.
que não é tanto uma solução.respostas https://stackoverflow.com/a/35775493/1423507 e https://stackoverflow.com/a/36516620/1423507 funcionam, mas você está voltando a usar
java.exe
1.7 (por exemplo, atualize oCurrentVersion
valor da chave de registro para corresponder àjava.exe
versão encontrada em os usuários%PATH%
).certifique-se de que
java.exe
1.8 é o primeiro encontrado nos usuários%PATH%
(como você faz isso é irrelevante), ou seja:%PATH%
para incluirC:\Program Files (x86)\Common Files\Oracle\Java\javapath
primeiro (certifique-se de que os executáveis nesse diretório estão corretos)%PATH%
para incluir o caminho absoluto de seus binários java primeiro (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
com eles (set JAVA_HOME="C:\Program Files\Java"
;set JRE_HOME=%JAVA_HOME%\jre1.8.0_191
;set PATH=%JRE_HOME%\bin;%PATH%
)fonte
Eu tive este erro em alguns serviços do Windows que executam Java. No final, na minha máquina tentei desinstalar as outras versões do java.
Deixei apenas 1.8 e agora está tudo funcionando.
fonte
A resposta do aribeiro funcionou para mim - com pequenas alterações
fonte
Quanto a mim no win7 64bit.
Copie o java.exe javaw.exe javaws.exe na pasta
C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
e abra o cmd, digite java -version.
Antes do acima, certifique-se de que a versão atual do registro seja 1.8
No menu INICIAR, digite "regedit" para abrir o editor do Registro
fonte
Minha solução para esse problema veio depois de ler e tentar todos os itens acima.
No meu caso, tentei fazer o downgrade do Java para usar impressões no
Apache ActiveMQ
. Depois de desinstalar todas as versões do Java e limpar o registro, estava recebendo o mesmo erroNo meu caso eu precisava para ir para variáveis de ambiente, editar caminho, abra o local JavaPath (
C:\ProgramData\Oracle\Java\javapath
) e lá estava ela - três arquivos (java.exe
,javaw.exe
,javaws.exe
) que permaneceram da versão JRE8.Depois de estabelecer esse fato, eu simplesmente troquei com os mesmos arquivos do
C:\Windows\SysWOW64
diretório (aqueles eram daJRE7
versão) e tudo funcionou perfeitamente.fonte
Após a última atualização automática do Java, não consegui executar o Java a partir do prompt de comando.
Minha variável de caminho tinha 'C: \ ProgramData \ Oracle \ Java \ javapath;'
Não consegui fazer cd em 'C: \ ProgramData \ Oracle \ Java \ javapath;' da janela do prompt de comando, uma vez que não existia.
Removi C: \ ProgramData \ Oracle \ Java \ javapath; ' da variável de caminho e substituiu-o por 'C: \ Arquivos de programas \ Java \ jre1.8.0_141 \ bin;'
fonte
Você tem que definir sua pasta jdk na variável JAVA_HOME, adicionar% JAVA_HOME% ao seu caminho de variável
Exclua ou altere o nome de seu java.exe, javaw.exe e javaws em sua pasta system32
execute cmd.exe, java -version agora obtém a nova versão que você define em JAVA_HOME.
fonte
Além da resposta de Anand Gupta, certifique-se de que nenhum outro java, exceto o que você precisa, seja usado. Execute
which java
(where java
para Windows) e veja quais executáveis java são usados. Simplesmente exclua aqueles que você não deseja usar e se o que você precisa não estiver presente, adicione-o ao PATH.fonte
Primeiro você deve ter o Java 7. Se não tiver, instale-o primeiro (não sei o que você está usando, Linux, Mac, yum, apt, homebrew, você deve descobrir por si mesmo).
Se você já tem o Java 7, execute:
Saída deve ser algo como isto:
/usr/lib/jvm/java-8-oracle
. Próximo a este diretório, você deverá ver ojava-7
diretório. Depois de encontrá-lo, executemudança
{java-7-dir}
com o caminho do seu diretório. Então você pode executar seu comando.Esta é apenas uma solução temporária. Para alterá-lo permanentemente, coloque o comando acima em seu
~/.bashrc
arquivo.EDIT: Se você estiver usando o Windows , altere a variável de ambiente de
JAVA_HOME
para o caminho do diretório de instalação do Java 7.fonte
Minha pequena contribuição, por compartilhar o mesmo problema com a versão Talend Open Studio 64 bits.
Para resolver isso, remova todos os arquivos java.exe, javaw.exe e javaws.exe em c: \ ProgramData \ Oracle \ Java \ javapath \
e o TOS começa com a versão de 64 bits corretamente!
fonte
Remova-o do caminho do sistema:
E isso vai resolver o problema de atualização da versão java de 1.7 para 1.8
fonte
Existe em algum lugar outro java.exe da versão 1.8 do jre que está no "caminho", você deve localizar e excluí-lo se for possível. pode estar no usuário tempdata para aplicativos que precisam do jre.
fonte
Altere as variáveis de sistema JAVA_BIN e JAVA_HOME e reinicie o sistema ou talvez faça login novamente. Você está tendo esse erro porque ainda é o caminho jdk1.7. No Windows é assim:
fonte
Basta instalar o Java SE Runtime Environment JRE 7!
Agora você vê "java 7" e "java 8" em "Programas e recursos" no "Painel de controle"
Funcionou para mim
fonte
Uma possível solução para este problema é adicionar na pasta Sencha CMD um arquivo bat conforme sugerido neste tópico Sencha Cmd 5 + Java 8 Error .
O lote terá o nome "sencha.bat" com este código:
Coloque-o na pasta sencha, no meu caso é
A etapa a seguir é alterar a variável de ambiente PATHEXT. Altere as variáveis do usuário para ter o menor impacto possível.
Eu mudo de
para
A ideia é fazer com que o Windows execute os arquivos .bat antes dos arquivos .exe. Isso é importante porque na pasta sencha já existe um arquivo "sencha.exe". E na linha de comando, se você digitar "sencha", ele executará "sencha.exe" em vez de "sencha.bat".
Essa foi a única solução que funcionou porque sou muito restrito quando se trata de permissões.
fonte
Meu sistema: - Windows 8.1
Ambientes Java
Recentemente instalei o Oracle 11g XE e recebi a mensagem de erro mencionada ao acessar o comando "java" no prompt de comando.
Eu verifiquei minhas variáveis de ambiente, verifiquei a sequência (conforme mencionado nas respostas anteriores) e detectei que minha variável PATH do sistema tinha a seguinte entrada como primeira entrada:
C: \ OracleDatabase \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;
Mudei a sequência e defini o caminho JDK como primeira entrada:
Eu repliquei a mesma mudança para a variável do usuário: caminho
Após terminar a atividade acima, reiniciei o prompt de comando e executei o comando java -version e o problema desapareceu. Ele exibiu o Java 8 como a versão atual.
fonte
Eu tive o problema semelhante. Mover o caminho JDK e JRE para o topo da variável de caminho resolveu o problema (que tem prioridade sobre o que está presente em System32)
Por exemplo, aqui está o meu:
fonte
Desinstale o Java 8 da sua lista de programas. Seguindo os passos abaixo: -
Na área de trabalho, clique no menu Iniciar (ou bola inicial) no canto inferior esquerdo da tela. Vá para o Painel de Controle. Clique em Programas e recursos. Selecione Java8 e clique em Desinstalar
fonte
Mate todos os aplicativos relacionados ao java no gerenciador de tarefas e, em seguida, exclua o Java.exe, Javaw.exe e Jawaws.exe de C: \ windows \ System32
Isso deve resolver seu problema ... :)
fonte
apenas fiz isso e funcionou
HKLM> SOFTWARE> JavaSoft> Java Runtime Environment
apenas altere manualmente a versão atual para 1.7.
lol ... mas funcionou!
fonte