programing

레지스트리 키 오류: Java 버전의 값은 '1.8'이지만 '1.7'이 필요합니다.

coolbiz 2022. 9. 18. 23:10
반응형

레지스트리 키 오류: Java 버전의 값은 '1.8'이지만 '1.7'이 필요합니다.

실행 중

sencha app build production

다음의 에러가 표시됩니다.

오류: 레지스트리 키 '소프트웨어\Java소프트\Java 런타임 환경'\CurrentVersion

값은 '1.8'이지만 '1.7'은 필수입니다.오류: java.dll을 찾을 수 없습니다. 오류: Java SE 런타임 환경을 찾을 수 없습니다.

java -version, 명령어는 다음과 같이 표시됩니다.

Java 버전 "1.8.0_40" Java(TM) SE 런타임 환경(빌드 1.8.0_40-b26) Java HotSpot(TM) 64비트 서버 VM(빌드 25.40-b25, 혼합 모드)

경로가 잘못된 위치를 찾을 수 없습니다.감 잡히는 게 없어요?

-------------------------------------------------------------------------

메모: Windows 7(64비트)을 사용하고 있습니다.

Sencha touch cmd를 제거하고 다시 설치해 보았다.하지만 여전히 같은 오류입니다.

Java 버전 인스턴스를 모두 제거하고 최신 인스턴스를 다시 설치했지만 문제는 해결되지 않습니다.

백 가지 이상의 재주를 부린 끝에 마침내 성공했다.

모두 제거했습니다.java.exe,javaw.exe그리고.javaws.exe내 것부터

  1. Windows\System32그리고.

  2. Windows\SysWOW64폴더입니다.[x64 시스템(Windows 7 64비트)을 사용하는 경우 2단계 시도]

제 경우(Windows 7 64비트)에는, 다음의 조작을 실시했습니다.

  • Path 환경변수에서 C:\ProgramData\Oracle\Java\javapath;대한 참조를 삭제.
  • 파일 java, javawjavawsC에서 삭제:\Windows\System32 폴더

그 후 열려 있는 명령줄 콘솔을 모두 닫고 다시 열어 java - version을 실행했습니다.

  1. 오픈 재편집
  2. 에 가다[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  3. 값을 바꾸다CurrentVersion'1.8'에서 '1.7'로

참조: Windows 사용자

아니요. PATH 변수에서 Javapath 환경 참조를 제거하지 않습니다.

레지스트리가 동작하지 않는 이유는 Oracle Javapath 스크립트가 JRE 및 JDK 디렉토리 앞에 PATH 시퀀스로 실행되어야 하기 때문입니다.현재 버전은 다음과 같습니다.

이 디렉토리를 사용자의 헤드에 배치합니다.%PATH%변수:

C:\ProgramData\Oracle\Java\javapath

[또는 데스크톱 어디에 있든]

그러면 PATH는 다음과 같이 됩니다.예를 들어, 제 패스입니다.

PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin

올바른 최신 버전이 표시됩니다.

C:\>java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

내 경험:

Windows 8.1을 사용하고 있는데 JAVA 버전을 1.8에서 1.7로 다운그레이드했는데 같은 오류가 발생하였습니다.

오류: 레지스트리 키 'Soft\Ja'의 값은 '1.7'이지만 '1.8'은 필수입니다.

나는 java.exe, javaw.exe과 javaws 삭제했습니다..C에서 지금 설치를 클릭:\Windows\System32 폴더 나에게 일했다.

나는 같은 문제가 있었다고요나를 위해 일했다 간단한 해결책에서 항목 다시 정렬하는 것이다.PATH위해서JRE/JDK. 이 문제로 보이기를 설치한 후 시작했다.JRE 8누구의 설치에서 실행 파일을 두고 있다.System32 or SysWOW64디렉터리는, 이 실행 파일을 망치고 있다.그 문제를 해결하려면:

  1. 가변 자바 개발 키트 집으로로 포인팅 환경을 만들어 보세요.JAVA_HOME.

    set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45

  2. 기입하다.%JAVA_HOME%\bin당신의 PATH환경 변수에서 시작될 때.기존의 값 AppendingPATH를 예를 들어:

    path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%

도록% 비친 나지만, 내 시스템-"경로"변수의 순서를 바꾸었다-어떤java.exe 파일을 삭제하지 않았어 J.첫 번째 엔트리로 AVA_HOME%\bin.그게 효과가 있었어.

오류는 명백합니다...

오류: 레지스트리 키 'Soft\Java Soft\Java Runtime Environment'\Current Version'의 값은 '1.8'이지만 '1.7'이 필요합니다.

오류: java.dll을 찾을 수 없습니다.

오류: Java SE 런타임 환경을 찾을 수 없습니다.

...를 사용하려고 합니다.java.exe1.7 실행 가능 파일,HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment>CurrentVersion레지스트리 키의 값은 1.8입니다.

제안된 솔루션의 반복적인 주제는 오류가 구성 오류라는 것입니다.이 오류는 다양한 방법으로 해결할 수 있습니다(예: 사용자 환경의 재구성이나 Java 실행 파일의 삭제 등).또 다른 폴백이 존재하기를 바랍니다.java.exe사용자 내에서%PATH%폴백은java.exe올바른 실행 파일입니다).

올바른 솔루션은 무엇을 달성하느냐에 따라 달라집니다.jdk-8에서jdk-7로 다운그레이드 하려고 하십니까?jdk-8로의 업그레이드를 시도하고 있습니까?"

재생 단계

  1. 설치 jdk-7u80-windows-x64.exe

주의:

  • java.exe사용자가 사용할 수 있는 실행 파일%PATH%에 인스톨 되어 있다.C:\Windows\System32
  • 설치 시 사용자가 업데이트되지 않음%PATH%
  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment>CurrentVersionstring 레지스트리 엔트리는 (특히) 값을 사용하여 작성됩니다.1.7
  1. jdk-8u191-windows-x64.exe 설치

주의:

  • 사용자%PATH%를 포함하도록 갱신되었습니다.C:\Program Files (x86)\Common Files\Oracle\Java\javapath첫 번째 엔트리로
  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment>CurrentVersion문자열 레지스트리 엔트리의 값이 갱신되다1.8
  1. 사용자를 갱신하다%PATH%환경 변수, 제거C:\Program Files (x86)\Common Files\Oracle\Java\javapath

  2. 새로운 명령 프롬프트에서java -version

오류: 레지스트리 키 'Soft\Java Soft\Java Runtime Environment'\Current Version'의 값은 '1.8'이지만 '1.7'이 필요합니다.

오류: java.dll을 찾을 수 없습니다.

오류: Java SE 런타임 환경을 찾을 수 없습니다.

솔루션

  1. OP의 솔루션 https://stackoverflow.com/a/29769311/1423507은 "대충격"이며 폴백이 존재하기를 희망합니다.java.exe사용자 내에서%PATH%오류에 대한 폴백 실행 파일이 올바른" 접근법입니다.재생 순서를 지정하면,java.exe,javaw.exe그리고.javaws.exe실행 파일C:\Windows\System32(내 경우만 해당)는 더 이상 아무것도 가지지 않게 됩니다.java.exe사용자에게 제시하다%PATH%에러가 발생하다'java' is not recognized as an internal or external command, operable program or batch file.별로 해결책이 되지 않는 거죠.

  2. https://stackoverflow.com/a/35775493/1423507 와 https://stackoverflow.com/a/36516620/1423507 는, 사용으로 되돌리는 경우에서도 기능합니다.java.exe1.7 (예를 들어 업데이트)CurrentVersion대조하는 레지스트리 키 값java.exe사용자에게 있는 버전%PATH%).

  3. 확인하다java.exe1.8은 사용자에게서 처음 발견됨%PATH%(그렇게 하는 방법은 무관합니다) 예:

    • 사용자를 갱신하다%PATH%포함하다C:\Program Files (x86)\Common Files\Oracle\Java\javapathfirst(이 디렉토리의 실행 파일이 올바른지 확인)
    • 사용자를 갱신하다%PATH%Java 바이너리의 절대 경로를 먼저 포함시킵니다(set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%")
    • Java별 환경 변수 설정 및 사용자 업데이트%PATH%(과 함께)set JAVA_HOME="C:\Program Files\Java";set JRE_HOME=%JAVA_HOME%\jre1.8.0_191;set PATH=%JRE_HOME%\bin;%PATH%)

Java를 실행하는 일부 Windows 서비스에서 이 오류가 발생했습니다.결국 제 기계에서 다른 버전의 Java를 제거하려고 했습니다.

1.8개만 남겼는데 이제 모든 게 잘 되고 있어요.

aribeiro의 답변은 나에게 효과가 있었다 - 약간의 변경도 있었다.

  • Path 환경변수에서 C:\ProgramData\Oracle\Java\javapath;에 대한 참조를 삭제했습니다.
  • PATH 환경변수의 첫 번째 엔트리로 /path/to/jdkhome을 만들었습니다.이것만 있으면 될 것 같아요.

나는 win7 64비트.

java.exe javaw를 복사합니다.exe javaws.폴더 내 exeC:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.

cmd를 열고 java -version을 입력합니다.

C:\Users\HEcom>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

상기하기 전에 레지스트리의 CurrentVersion이 1.8인지 확인합니다.

[시작(START)]메뉴에 [regedit]를 입력하여 레지스트리 에디터를 엽니다.

  1. 좌측 레지스트리 탐색기/트리 메뉴의 "HKEY_LOCAL_MACHINE"으로 이동합니다.
  2. "HKEY_LOCAL_MACHINE" 레지스트리에서 "SOFTWARE"를 클릭합니다.
  3. 「SOFTWARE」레지스트리내의 「JavaSoft」를 클릭합니다.
  4. 설치된 Java의 다른 버전을 볼 수 있는 "JavaSoft" 레지스트리 목록에서 "Java Runtime Environment"를 클릭하십시오.
  5. [ Java Runtime Environment ](자바 런타임 환경)을 클릭합니다.오른쪽에는 4-5 행이 표시됩니다.[Current Version](현재 버전)을 선택하고 오른쪽 클릭(수정 옵션 선택)하여 버전이 "1"인지 확인하십시오.8"

이 문제에 대한 나의 해결책은 위의 모든 것을 읽고 시도해 본 후에 나왔다.

제 경우 인쇄물을 사용하기 위해 Java를 다운그레이드하려고 했습니다.Apache ActiveMQ모든 Java 버전을 제거하고 레지스트리를 청소한 후 동일한 오류가 발생하였습니다.

오류: 레지스트리 키 "Soft\JavaSoft\Java Runtime Environment"\CurrentVersion"의 값은 "1.7"이지만 "1.8"이 필요합니다."

내 경우 환경변수로 이동하여 경로를 편집하고 javapath 위치를 열어야 했습니다.C:\ProgramData\Oracle\Java\javapath3개의 파일( )이 있습니다.java.exe,javaw.exe,javaws.exeJRE8 버전에서 남아 있습니다.

이 사실을 확인한 후, 나는 그것들을 단순히 같은 파일들로 바꾸었습니다.C:\Windows\SysWOW64디렉토리(이것들은JRE7모든 것이 완벽하게 작동했습니다.

최신 Java 자동 업데이트 후 명령 프롬프트에서 Java를 실행할 수 없었습니다.

경로 변수에는 'C:'가 있습니다.\ProgramData\Oracle\Java\javapath;'

C:에 CD를 삽입할 수 없습니다.명령 프롬프트창에서 \ProgramData\Oracle\Java\javapath;'를 선택합니다.이것이 존재하지 않기 때문입니다.

경로 변수에서 C:\ProgramData\Oracle\Java\javath;'를 삭제하고 C:로 대체했습니다.\Program Files\Java\jre1.8.0_141\bin;'

변수 JAVA_에서 jdk 폴더를 정의해야 합니다.홈, %J 추가변수 경로에 대한 AVA_HOME%

폴더 system32에서 java.exe, javaw.exe 및 javaws 이름을 삭제 또는 변경합니다.

execute cmd.exe, java -version은 이제 JAVA_HOME에서 정의한 새 버전을 가져옵니다.

Anand Gupta의 답변 외에 필요한 자바를 제외한 다른 자바가 사용되고 있지 않은지 확인합니다.달려.which java(where java어떤 Java 실행 파일이 사용되는지 확인합니다.사용하지 않을 항목을 삭제하고 필요한 항목이 없으면 PATH에 추가합니다.

먼저 Java 7이 필요합니다.만약 없다면 먼저 설치하세요(Linux, Mac, yum, apt, homebrew 등 무엇을 사용하고 있는지 모르겠으니 직접 찾아보세요).

Java 7이 이미 있는 경우 다음을 수행합니다.

echo $JAVA_HOME

출력은 다음과 같습니다./usr/lib/jvm/java-8-oracle. 이 디렉토리 근처에는java-7디렉토리로 이동합니다.찾았으면 도망쳐라

export JAVA_HOME=${java-7-dir}

바꾸다{java-7-dir}디렉토리 패스를 지정합니다.그런 다음 명령을 실행할 수 있습니다.

이것은 일시적인 해결책일 뿐입니다.영속적으로 변경하려면 위의 명령어를~/.bashrc파일.

편집: Windows사용하고 있는 경우는, 다음의 환경 변수를 변경합니다.JAVA_HOMEJava 7 설치 디렉토리 경로로 이동합니다.

Talend Open Studio 64비트 버전과 동일한 문제를 공유한 것에 대한 저의 짧은 기여입니다.

  1. 를 기동합니다.\TOS_DI-Win32-20150702_1326-V6.0.0\수동으로 TOS_DI-win-x86_64.exe(스타트업 Windows 메뉴를 링크하지 않음)
  2. 이 레지스트리 오류 메시지가 나타납니다.

이 문제를 해결하려면 모든 java.exe, javaw.exe 및 javaws를 삭제합니다.c:\ProgramData\Oracle\Javapath\의 exe 파일

TOS는 64비트 버전으로 올바르게 시작됩니다!

시스템 경로에서 제거합니다.

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

그리고 자바 버전을 1.7에서 1.8로 업그레이드할 때 문제가 해결됩니다.

jre 버전 1.8의 다른 java.exe가 "path" 내에 존재하며 가능하면 찾아서 삭제해야 합니다.jre가 필요한 애플리케이션의 경우 사용자 tempdata에 있을 수 있습니다.

JAVA_B를 변경해주세요IN 및 JAVA_HOME 시스템 변수 후 시스템을 재시작하거나 다시 로그인할 수 있습니다.아직 jdk1.7 경로이기 때문에 이 오류가 발생하고 있습니다.Windows 에서는, 다음과 같습니다.

저도 비슷한 문제가 있었어요.JDK 및 JRE 경로를 경로 변수의 맨 위로 이동하면 문제가 해결되었습니다(System32 아래에 있는 것보다 우선).

예를 들어, 제 것은 다음과 같습니다.

enter image description here

Java SE Runtime Environment JRE 7 설치만 하면 됩니다!

이제 "제어판"의 "프로그램 및 기능"에 "java 7" 및 "java 8"이 표시됩니다.

그것은 나에게 효과가 있었다.

이 문제의 해결 방법 중 하나는 이 스레드 Sencha Cmd 5 + Java 8 Error에서 제시된 대로 Sencha CMD 폴더에 bat 파일을 추가하는 것입니다.

배치의 이름은 "sencha.bat" 이며 다음 코드가 사용됩니다.

@echo off
set JAVA_HOME=<YOUR JDK 7 HOME>
set PATH=%JAVA_HOME%\bin;%PATH%
set SENCHA_HOME=%~dp0
java -jar "%SENCHA_HOME%\sencha.jar" %*

센카 폴더에 넣어주세요.저 같은 경우에는

C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd\6.2.0.103

다음 단계에서는 PATHEXT 환경변수를 변경합니다.가능한 한 영향을 최소화하도록 사용자 변수를 변경합니다.

에서 변하다

COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

로.

COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

이 아이디어는 .exe 파일보다 먼저 .bat 파일을 실행하도록 하는 것입니다.sencha 폴더에는 이미 "sencha.exe" 파일이 있기 때문에 이것은 중요합니다.명령줄에서 "sencha"를 입력하면 "sencha.bat" 대신 "sencha.exe"가 실행됩니다.

허가에 관해서는 매우 제약이 있기 때문에 이 솔루션만이 유효했습니다.

내 시스템: - Windows 8.1

자바 환경

  • C:\Java Environment\Java\jdk1.8.0_161
  • C:\Java Environment\Java\jdk1.7.0_75

최근에 Oracle 11g XE를 설치했는데 명령 프롬프트에서 "java" 명령에 액세스했을 때 언급된 오류 메시지가 표시되었습니다.

환경변수를 체크하고 시퀀스(이전 응답에서 설명한 바와 같이)를 체크하여 시스템 PATH 변수가 첫 번째 엔트리로 다음 엔트리가 있음을 검출했습니다.

C:\OracleDatabase\oraclex\app\oracle\product\11.2.0\server\bin;

시퀀스를 변경하고 첫 번째 엔트리로 JDK 경로를 정의했습니다.

enter image description here

사용자 변수: 경로에 동일한 변경 내용을 복제했습니다.

enter image description here

위의 액티비티를 종료한 후 명령 프롬프트를 재시작하여 java - version 명령을 실행했더니 문제가 사라졌습니다.현재 버전으로 Java 8이 표시되었습니다.

이 문제에 직면했지만 이는 명령어프롬프트( windows machine )를 열었을 때 디폴트로 명령어프롬프트가 에서 열렸기 때문입니다.

C:\WINDOWS\system32>

java - version 등의 기본 명령어를 실행하려고 하면 다음 오류가 발생합니다.

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

system32에서 C:\ 및 voila!로 네비게이트 하는 것만으로 동작합니다(이 경우는 Windows 고유의 디렉토리인 system32 내에 존재하는 것과 관련이 있다고 생각됩니다).

또, Windows 레지스트리에서 다음의 키를 발견해, 변경했을 때에 문제가 해결되었습니다.

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\JavaSoft\Java Runtime Environment\CurrentVersion

프로그램 목록에서 Java 8을 제거합니다.다음 단계를 수행합니다.-

바탕화면에서 화면 왼쪽 하단에 있는 시작 메뉴(또는 시작 볼)를 클릭합니다.제어판으로 이동합니다.[프로그램과 기능]을 클릭합니다.Java8을 선택하고 제거를 클릭합니다.

태스크 매니저에서 Java와 관련된 모든 응용 프로그램을 종료한 후 Java.exe, Javaw.exe 및 Jawaws를 삭제합니다.C:\windows\에서 exe 실행System32

이걸로 네 문제가 해결될 거야:)

그냥 이렇게 하고 효과가 있었어

HKLM > Software > Java Soft > Java Runtime Environment

현재 버전을 수동으로 1.7로 변경하기만 하면 됩니다.

lol... 하지만 성공했어!

언급URL : https://stackoverflow.com/questions/29697543/registry-key-error-java-version-has-value-1-8-but-1-7-is-required

반응형