JNI 공유 라이브러리(JDK) 로드 실패
Eclipse를 열려고 하면 팝업 대화 상자가 다음과 같이 표시됨:
JNI 공유 라이브러리 "C:/JDK/bin/client/jvm.dll"을 로드하지 못함.
이어 이클립스 포스가 닫힌다.
몇 가지 요점을 말씀드리고자 한다.
- 나는 그 경로에 무엇이 있는지 확인했다.그것은 실제로 존재한다.
- My Eclipse와 Java SE 개발 키트는 모두 64비트 입니다.내 시스템을 확인했는데 64비트를 처리할 수 있어.
- 구글과 스택 오버플로우에서 이 문제를 검색해 봤는데, 유일하게 찾은 답은 32비트 버전의 JDK와 이클립스를 다운로드하는 것이었습니다.
32비트 버전을 다운로드하는 것은 마지막 수단으로만 하고 싶은 것이다.
이 문제를 해결하기 위해 무엇을 제안할 것인가?
당신은 a가 필요하다.64-bit
트리오:
64-bit
OS64-bit
자바64-bit
이클립스
OS, JDK 및 Eclipse의 작업 쌍:
32-bit
OS |32-bit
JDK |32-bit
Eclipse(32비트만 해당)64-bit
OS |32-bit
JDK |32-bit
이클립스64-bit
OS |64-bit JDK
|64bit
Eclipse(64비트만 해당)
나는 여러 개의 JDK와 JRE를 설치했다.
그들 각각은 PATH 변수에 그들만의 입력을 가졌고, 모든 것이 어느 정도 효과가 있었다.
PATH 변수들로 미루어 볼 때, 어떤 설치는 한 번도 사용되지 않았기 때문에 완전히 무용지물이었다.물론 "비활성" 자바들은 내가 필요하다면 이클립스 내에서 수동으로 참조될 수 있지만, 나는 그런 적이 없어서 정말 필요없었다.(적어도 그 당시에는 그렇게 생각했었다...)
난장판을 정리하고, 현재의 자바를 모두 제거하고, JDK + JRE 1.7 64비트만 설치했다.
Eclipse '설치' 중 하나가 이후 다음 구성 요소와 함께 실패함Failed to Load the JNI shared Library
그리고 새로 설치된 JDK와 관련된 정해진 경로로, JDK는jvm.dll
되려고
실패한 Eclipse는 나의 모든 IDE 중 유일하게 다른 모든 64비트 설정에서 여전히 32비트 버전이었다.
에서 자주 언급되는 것과 같은 VM 인수 추가eclipse.ini
내 경우에는 아무 소용이 없었다(연관할 수 있는 잘못된 JDK/JRE만 있었으므로).
이클립스가 32비트 버전인지 64비트 버전인지 확인하는 방법도 알 수 없었다(이클립스 '설치'가 시작되지 않아 작업 관리자에서 찾아볼 수 없었다.그리고 세팅한 지 꽤 되었기 때문에 버전도 기억나지 않았다.)
만약 당신이 새로운 JDK와 오래된 JRE를 사용할 경우 당신도 곤경에 처할 수 있지만, 그렇다면 그것은 더 가능성이 높다.java.lang.UnsupportedClassVersionError
IERC가 나타난다.
반드시eclipse.ini
파일은 다음 줄을 포함한다.
-vm
C:\path\to\64bit\java\bin\javaw.exe
내 예:
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
OS와 Eclipse를 모두 64비트 또는 32비트를 동일하게 유지하고 구성하십시오.
당신의eclipse.ini
파일은 당신의 일식 폴더에서 찾을 수 있다.
나도 같은 문제가 있었다.
다음에서 64비트 JVM을 설치하여 해결했다.
http://www.java.com/en/download/manual.jsp
이 오류는 Eclipse의 아키텍처가 Java 런타임의 아키텍처와 일치하지 않는다는 것을 의미한다. 즉, 한 아키텍처가 32비트인 경우 다른 아키텍처는 64비트가 아닌 동일해야 한다.
가장 신뢰할 수 있는 해결책은 일식에서 JVM 위치를 지정하는 것이다.ini:
-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe
중요:이 두 줄은 -vmargs보다 먼저 와야 한다.따옴표를 사용하지 마십시오. 공백이 허용됨.
또 다른 옵션은 다음과 같다.
Eclipse.exe에 대한 바로 가기를 만드십시오.바로 가기를 열고 대상을 다음으로 변경하십시오.
"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"
설치를 위해 위치가 올바른 Eclipse 설치 디렉토리와 올바른 설치 디렉토리를 가리키는지 확인하십시오.javaw.exe
설치 디렉터리.
(물론 Eclipse와 Java의 64/32비트 버전은 동일해야 한다.)
Sun JDK와 JRockit, 32비트, 64비트 등 여러 버전의 Java를 설치했는데, 64비트 EE(JUNO)를 새로 설치하면서 이 문제에 부딪쳤다.
작동하지 않은 내용:
Peter Rader가 제안한 64비트 트리오:
64비트 OS(Windows 7)에서 64비트 Eclipse를 사용하고 있다.
나는 Sun JDK 7 64비트가 기본 자바 버전이라고 확신했다.명령줄(cmd.exe)에서 "java -version"을 입력했을 때 Sun JDK 7 64비트가 반환됨...
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
이것은 나에게 문제를 해결해주지 않았다.
무엇이 효과가 있었는가:
일식에 -vm 옵션 추가 중.제이에시 카바티야(Jayesh Kavathya)가 제안한 ini:
일식에 다음과 같은 것을 더했다.ini:
-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe
참고:
나는 내 컴퓨터에 있는 JDK나 JRE의 다양한 버전을 제거할 필요가 없었다.
행방불명인 경우jvm.dll
파일, dll 파일의 경로를 제공할 수 있다.eclipse.ini
로 제출하다.
-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll
여기서 경로와 큰따옴표에서 공백을 제거하는 것이 중요하다.인용문과 띄어쓰기를 제거했을 때 내게 효과가 있었다.
누군가에게 도움이 되었으면 좋겠어.
나도 비슷한 문제가 있었어.다음과 같은 방법으로 해결되었다.
- Eclipse를 Program Files로 이동(Program Files (x86)
- '경로' 환경 변수에서 32비트 버전의 Java에 대한 경로를 제거하십시오.
두 버전의 Java를 모두 설치했지만 Eclipse는 32비트 버전을 계속 사용하려고 했다.
물론, 호환되는 버전의 JDK와 Eclipse가 있어야 하지만, 다음에도 추가해야 한다.eclipse.ini
다음 줄을 철하다.
-vm
yourdrive\java\bin
당신의 첫 두 줄로 만드세요.eclipse.ini
파일
많은 사람들이 이미 언급했듯이, 이것은 Eclipse와 Java 모두에게 32와 64비트 문제야.32비트와 64비트를 혼용할 수 없다.Eclipse는 사용하지 않기 때문에JAVA_HOME
Eclipse를 시작하기 전에 적절한 버전의 Java뿐만 아니라 32비트 또는 64비트(또는 Jayath가 언급한 대로 INI 파일을 수정)를 사용하고 있는지 확인하기 위해 PATH를 변경해야 할 것이다.
회사 공유에서 Eclipse를 설치하는 경우 지퍼를 해제한 Eclipse 버전을 확인하고 적절한 Program Files 디렉토리에 압축을 푼 다음 PATH(Windows) 제어판 -> 시스템 또는 설정을 변경하십시오.PATH=/path/to/32 or 64bit/java/bin;%PATH%
(시스템 및/또는 사용자 환경 변수에 설정하지 않으려면 배치 파일을 생성하십시오.)32비트는 프로그램 파일(x86)에 있다는 점을 기억하십시오.
확실하지 않은 경우 Eclipse를 시작하고 오류가 발생하면 PATH를 다른 '비트' 버전의 Java로 변경한 다음 다시 시도하십시오.그런 다음 Eclipse 디렉토리를 적절한 Program Files 디렉토리로 이동하십시오.
내 위의 답변은 너무 유혹적이어서 OS, Eclipse, JVM 트리오와 가능한 모든 조합을 드라이로 실행하기로 결정했다.어쨌든 누가 내 게시물을 파서 읽고 있든, 다음을 핫 스팟으로 체크하라(Windows 7 사용자다).
프로그램 파일과 프로그램 파일(x86)이 서로 다른 두 폴더라는 것을 알고 있을 때...x86은 32비트 버전의 프로그램을 의미하며, 전자는 64비트 버전이다.
여러 버전의 Java가 서로 다른 비트성과 릴리스 버전으로 설치되어 있는 경우, 오픈 소스 IDE, 관리자, 관리 콘솔이 너무 많으면 VM 인수를 에서 직접 설정하는 것이 가장 좋은 옵션이다.
eclipse.ini
만약 그렇지 않으면, 이클립스는 미쳐버릴 것이고 좋지 않은 것을 스스로 찾아 볼 것이다.
또는 동일한 "비트" 버전의 JRE와 Eclipse를 가져온 다음 아래 대상으로 새 바로 가기를 만드십시오(설치된 JRE 및 Eclipse 위치/경로 대체).
"C:\studio\eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" java.home="C:\Program Files\Java\jre7" java.runtime.version=1.7.0
그것이 효과가 있어야 해요.
너는 그 문제를 다른 많은 복제된 것만큼 해결할 수 있다.Eclipse와 JDK는 모두 32비트 또는 64비트여야 한다.OS의 아키텍처는 다른 아키텍처들이 같은 종류의 건축물에 머물러 있는 동안 중요하지 않다.
쉽게 해결할 수 있는 방법 중 하나는 복사하는 것이다.jre
설치된 JDK의 폴더를 Eclipse 설치 폴더로 이동하십시오.복사한 JDK가 Eclipse 설치와 동일한 아키텍처인지 확인하십시오.
나는 내 기계에서 이클립스와 애플레이터 티타늄 스튜디오를 모두 운영하기 때문에 내 기계를 그렇게 구성해야 했다.스튜디오는 32비트 자바, 이클립스는 64비트가 필요하다.
예, Eclipse와 JDK 버전이 모두 64비트인지 확인하십시오.모든 것이 올바른지 확인하기 위해 JDK를 제거한 후 프로그램 파일(x86)이 아닌 프로그램 파일에 설치하십시오.적어도 그것으로 내 문제가 해결되었다.
PATH 환경 변수를 확인하십시오.My Computer - > Properties -> Advanced System settings -> Environment Variables ->(왼쪽 상단 창 "Some name of PC"에 대한 사용자 변수 )에서 PATH 변수를 확인하기만 하면 된다.만약 존재하지 않는다면, 다음과 같이 생성한다. > C:\Program Files (x86)\Java\jre7\bin <---
나는 이클립스를 업데이트한 후 같은 문제에 직면했다.나는 그 경로가 64비트 버전을 물었지만 나는 32비트를 가지고 있었다.내게 도움이 되었다. 추신: 나는 64비트 OS, 32비트 JRE, 32비트 Eclipse를 가지고 있다.모든 작업 양호 :)
이전 [JRE][1]을(를) 모두 제거한 다음 최신 [JRE]를 설치하십시오.나도 같은 문제가 있었는데 이제 해결한다.나는:
Jre 6 32비트를 설치하는 것이 좋다.정말 효과가 있다.
사이트에서 64비트 JVM을 다운로드하여 수동으로 설치하고 시스템 경로 변수를 업데이트.그것으로 문제가 해결되었다.
- 시스템에 기본 JVM이 설치된 경우 "C:\프로그램 파일
(x86)\Java\jre7" - 수동으로 설치된 JVM이 "C:"에 설치됨\Program Files\Java\jre7"과 이 페이트를 시스템 경로 변수로 업데이트한 후 작동했다.
감사합니다, Misfrb, Eclipse가 이런 오류를 범하고 있다는 것을 깨달았습니다, 왜냐하면 방금 Oracle 10g Developer 제품군을 설치했고, Eclipse가jvm.dll
에 제출하다.C:\DevSuiteHome_1
폴더(개발자 제품군과 함께 JDK를 다시 설치하도록 선택했을 것임).
DevSuite 제거 후경로 변수의 홈 라인 및 64비트 수정 위치 추가jvm.dll
(이것이 필요한지 확실하지 않고, 없이 시도하지 않았는지), Eclipse는 다시 작동했고, Developer 제품군도 여전히 작동한다.
간단히 말해, 64비트 OS, 32비트 Eclipse, 그리고 JDK 32 & 64가 모두 설치되어 있고...방금 64비트 JDK를 제거했는데 Eclipse가 잘 작동하고 있어.
자바 6에서 자바 7로 업그레이드한 후에도 같은 문제가 있었어.자바 6(64비트)을 제거하고 자바 7(64비트)을 재설치한 후 이클립스가 작동했다.:)
-vm 파라미터와 그 값을 일식의 시작 부분에서 두 줄에 추가하는 것이 중요하다.이니
-vm C:\Program Files\Java\jdk1.7.0_45\bin\javaw.퇴장시키다
올바른 버전의 JAVA_를 변경하셨습니다.환경 변수의 홈 및 경로.
이 오류에 대한 다른 해결책, 특히 32비트 및 64비트 Eclipse를 한 시스템에서 사용하고자 하는 분에 대해 미리 말씀드리고 싶다.
Eclipse는 다음 위치에서 JRE/JDK를 사용하여 시작함jre
하위 디렉토리(있는 경우). (STS 또는 다른 일식 기반 IDE도 이 기능을 지원한다...)
해결책은 다음을 사용하여 디렉토리 접속을 만드는 것이다.mklink.exe
윈도우즈 뷰 또는 최신 버전에 존재하는 명령(하드웨어).exe는 Windows 2000/XP에 유사한 기능을 제공)
명령줄 창을 열고 다음 명령을 제거하십시오.
mklink /j "$Eclipse-HOME/jre" "$JDK_or_"JRE_home"
물론 Eclipse가 64비트 Windows를 위한 것이라면 이클립스는JDK/JRE
동일해야 한다.
가정:
Eclipse for windows x86_64
d:\devTool\eclipse에 설치됨JDK for windows x64
C:\Program Files\Java\jdk1.8.0에 설치됨
생성 명령어jre
폴더:
mklink /j "d:\devTool\eclipse\jre" "C:\Program Files\Java\jdk1.8.0"
BTW, 디렉토리 접속을 삭제해도 파일은 삭제되지 않는다.링크를 잘못 만들면 파일 탐색기를 사용하여 삭제할 수 있다.rmdir
명령하다
rmdir "d:\devTool\eclipse\jre"
관리자 권한으로 Eclipse를 시작했는지 확인하십시오.
만약 당신이 64비트 트리오 전체를 사용해도 여전히 작동하지 않는다면(Intellij Idea에서 Android Monitor를 출시하는 동안 이 문제에 봉착했다), 아마도 잘못된 jvm.dll이 당신의 자바가 기대하는 것과 반대로 사용되고 있을 것이다.다음 단계를 따르십시오.
JRE 디렉토리에서 jvm.dll 찾기:
C:\Program Files\Java\jre7\server\bin\jvm.dll
JDK 디렉토리에서 jvm.dll 찾기:
c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\
복사
jvm.dll
JRE drectory에서 JDK 디렉토리로 전송하고 JDK의 jvm.dll을 덮어씁니다.
만일의 경우를 대비하여 백업하는 것을 잊지 마십시오.Java와 관련된 것은 설치하거나 제거할 필요가 없다.
나도 같은 생각이 들었다.64비트 Eclipse를 가지고 있었지만 JDK는 32비트였습니다.그래서 64비트 버전을 설치했고 지금은 괜찮아.
이유는 모르겠지만 내 c:\window 디렉토리와 java.exe와 javaw에 jre를 설치했어.내 창\system32 디렉터리에서 exe.
분명히 이 디렉토리들은 내 eclipse.ini 파일에 -vm 플래그를 추가한 후에도 우선순위를 얻고 있었다.
여기서 삭제하면 문제가 해결된다.
Eclipse의 다운로드 페이지에는 "Windows 32비트"나 "Windows 64비트"가 아니라 "JRE 32비트" 또는 "JRE 64비트"라고 기록해야 한다.
앞에서 설명한 대로 JDE와 호환되는 올바른 버전을 사용하십시오.
참조URL: https://stackoverflow.com/questions/7352493/failed-to-load-the-jni-shared-library-jdk
'programing' 카테고리의 다른 글
다중 요소 선택 Vue.js (0) | 2022.05.23 |
---|---|
부울 체크에 xor 연산자를 사용하는 것이 좋은 관행인가? (0) | 2022.05.23 |
리소스 폴더에서 파일을 로드하는 방법 (0) | 2022.05.22 |
그러면 Vuex에서 getter가 있는 스토어 상태를 약속과 함께 가져올 수 없음 (0) | 2022.05.22 |
Vue/Nuxt 라이프사이클에서 사전 생성 및 생성된 Getter를 호출함 (0) | 2022.05.22 |