it-swarm-korea.com

JNI 공유 라이브러리 (JDK).

Eclipse 를 열려고하면 팝업 대화 상자에 다음과 같이 표시됩니다.

JNI 공유 라이브러리 "C : /JDK/bin/client/jvm.dll"을로드하지 못했습니다.

이것에 뒤이어, Eclipse 강제 종료.

다음은 몇 가지 사항입니다.

  • 나는 그 길에 어떤 것이 있는지보기 위해 점검했다. 그것은 존재합니다.
  • 내 Eclipse 및 Java SE 개발 키트 는 모두 64 비트입니다. 나는 내 시스템을 점검했고, 64 비트를 처리 할 수있다.
  • 나는이 문제를 구글과 스택 오버 플로우에서 찾아 보았고, 내가 찾은 유일한 해결책은 32 비트 버전의 JDK와 Eclipse를 다운로드하는 것이었다.

32 비트 버전을 다운로드하는 것은 내가 최후의 수단으로하고 싶은 것입니다.
이 문제를 해결하기 위해 어떤 제안이 있을까요?

895
Mxyk

64 비트 트리오가 필요합니다.

  • 64 비트 OS
  • 64 비트 Java
  • 64 비트 Eclipse
826
Peter Rader

OS, JDK 및 Eclipse의 작업 페어링 :


  • 32-bitOS | 32-bitJDK | 32-bit Eclipse ( 32 비트 만 )
  • 64-bitOS | 32-bitJDK | 32-bit 일식
  • 64-bitOS | 64-bit JDK | 64bit Eclipse ( 64 비트 만 )

JDK와 JRE가 여러 개 설치되어 있습니다.

그들 각각은 PATH 변수에 자신의 항목이 있었으며 모두 다소 작동했습니다.

PATH 변수로 판단하면 일부 설치는 사용되지 않았기 때문에 완전히 쓸모가 없었습니다. 물론, "비활성"Java는 필요할 경우 Eclipse 내에서 수동으로 참조 할 수 있지만 그렇게하지는 않았으므로 실제로는 필요하지 않았습니다. (적어도 그때는 그렇게 생각했습니다 ...)

나는 혼란을 정리하고 모든 현재 Java를 제거하고 JDK + JRE 1.7 64 비트 만 설치했습니다.

이클립스 '설치'중 하나가 Failed to Load the JNI shared Libraryjvm.dll 인 것으로 생각 된 새로 설치된 JDK에 대한 지정된 경로를 사용하여 실패했습니다.

실패한 Eclipse는 내 모든 IDE 중 유일하게 내 64 비트 설정에서 여전히 32 비트 버전 인 IDE 중 하나였습니다.

Eclipse.ini에서 자주 언급되는 것처럼 VM 인수를 추가하는 것은 필자의 경우에는 사용되지 않았습니다 (잘못된 JDK/JRE 만 관련되어 있기 때문에).

이 Eclipse가 32 비트 또는 64 비트 버전인지 확인하는 방법을 찾을 수 없었습니다 (이 Eclipse 'installation'이 아니기 때문에 Task Manager 에서 찾을 수 없었습니다) 그리고 설정 한 지 얼마되지 않아 버전도 기억할 수 없었습니다.)

최신 JDK와 더 오래된 JRE 를 사용하는 경우 문제가 발생할 수도 있지만 Java.lang.UnsupportedClassVersionError가 나타날 가능성이 높습니다. IIRC .

305
sjas

Eclipse.ini 파일에 다음 행이 있는지 확인하십시오.

-vm
C:\path\to\64bit\Java\bin\javaw.exe

내 Eclipse.ini 예를 들면 :

-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 비트 모두를 동일하게 사용하고 config Eclipse.ini 를 사용하십시오.

Eclipse.ini 파일은 Eclipse 폴더에서 찾을 수 있습니다.

256
jayesh kavathiya

나는 똑같은 문제가 있었다.

나는 64 비트 JVM을 설치하여이 문제를 해결했다.

http://www.Java.com/en/download/manual.jsp

58
Farm

이 오류는 Eclipse의 아키텍처가 Java 런타임의 아키텍처와 일치하지 않는다는 것을 의미합니다. 즉, 하나가 32 비트이면 다른 하나는 64 비트가 아니라 동일해야합니다.

가장 신뢰할 수있는 해결책은 Eclipse.ini에서 JVM 위치를 지정하는 것입니다.

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

중요 : 이 두 줄은 before - vmargs 앞에 와야합니다. 따옴표를 사용하지 마십시오. 공백이 허용됩니다.

38
Peter Tseng

또 다른 옵션은 다음과 같습니다.

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 비트 버전은 물론 같아야합니다.)

33
spannow

Sun JDK 및 JRockit (32 비트 및 64 비트 모두) 등 여러 버전의 Java가 설치되어 있으며 Java EE (JUNO) 용 64 비트 Eclipse를 새로 설치하면이 문제가 발생합니다.

NOT 일한 것 :

Peter Rader가 제안한 64 비트 트리오 :

64 비트 OS (Windows 7)에서 64 비트 Eclipse를 사용하고 있습니다.

필자는 Sun JDK 7 64 비트가 기본 Java 버전임을 보장했습니다. 명령 줄 (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)

이것은 나를 위해 문제를 해결하지 못했습니다.

DID _ 작업 :

Jayesh Kavathiya가 제안한 Eclipse.ini에 -vm 옵션 추가하기 :

Eclipse.ini에 다음을 추가했습니다.

-vm
C:/apps/Java/jdk7-64bit/bin/javaw.exe

노트 :

내 컴퓨터에있는 JDK 또는 JRE의 다양한 버전을 제거 할 필요가 없었습니다.

30
Sunny Sarkar

누락 된 jvm.dll 파일의 경우 Eclipse.ini 파일에서 dll 파일의 경로를 다음과 같이 제공 할 수 있습니다.

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

여기서 경로와 큰 따옴표의 공백을 제거하는 것이 중요합니다. 따옴표와 공백을 삭제하면 나에게 도움이되었습니다.

나는 그것이 누군가를 돕기를 바란다.

18
Stalin Gino

나는 비슷한 문제가 있었다. 그것은 다음과 같이 해결되었습니다.

  • Eclipse를 Program Files 로 이동하십시오 ( Program Files (x86) ).
  • 'path'환경 변수에서 Java의 32 비트 버전에 대한 경로를 제거하십시오.

두 버전의 Java를 모두 설치했지만 Eclipse는 32 비트 버전을 계속 사용하려고했습니다.

11
misterfrb

물론 JDK와 Eclipse의 호환 버전이 있어야하지만 다음 줄을 Eclipse.ini 파일에 추가해야합니다.

-vm
yourdrive\Java\bin

Eclipse.ini 파일의 처음 두 줄을 만드십시오.

10
Deepak Tyagi

이미 많은 사람들이 언급했듯이 EclipseJava 모두 32 비트 대 64 비트 문제입니다. 32 비트와 64 비트를 섞어서 사용할 수 없습니다. Eclipse는 Java_HOME를 사용하지 않기 때문에 Eclipse를 시작하기 전에 PATH를 변경해야만 Java의 적절한 버전뿐만 아니라 32 또는 64 비트 (또는 INI Jayath가 지적한대로).

회사 공유에서 Eclipse를 설치하는 경우, 압축을 풀고있는 Eclipse 버전을 확인하고 적절한 Program Files 디렉토리에 압축을 풀어 어느 것이 무엇인지 추적하고 PATH ( (Windows) 제어판 -> 시스템을 통해 영구히 또는 PATH=/path/to/32 or 64bit/Java/bin;%PATH%를 설정하십시오 (시스템 및/또는 사용자 환경 변수에서 설정하지 않으려는 경우 배치 파일을 만들 수 있습니다). 32 비트는 Program 파일 (x86).

확실하지 않은 경우 Eclipse를 시작하십시오. 오류가 발생하면 PATH를 다른 '비트'Java 버전으로 변경 한 다음 다시 시도하십시오. 그런 다음 Eclipse 디렉토리를 해당 Program Files 디렉토리로 이동하십시오.

8
Marc Towersap

또는 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

그 트릭을해야합니다.

7
Kevin Yap

다른 많은 복제본으로 문제를 해결할 수 있습니다. 이클립스와 JDK 는 64 비트에서 32 비트 또는 둘 다가되어야 함. OS의 아키텍처는 중요하지 않지만 다른 아키텍처는 동일한 유형의 아키텍처를 유지합니다.

7
Ignacio

위의 대답을 통해 나는 유혹을 많이 받아서 OS, EclipseJVM trio와 가능한 모든 조합을 실행하지 않기로 결정했습니다. 어쨌든, 누구든지 내 게시물을 파고, 다음 핫 스팟 (나는 윈도우 7 사용자)로 확인하십시오.

  1. Program Files and Program File (x86) 두 개의 서로 다른 폴더 ... x86 는 프로그램의 32 비트 버전을 나타내며 전자는 64 비트 버전.

  2. 다양한 비트 및 릴리스 버전으로 Java 버전의 여러 버전이 설치되어있는 경우 많은 오픈 소스 IDEs 관리자, 관리 콘솔에서 발생하는 가장 좋은 옵션은 VM 인수는 Eclipse.ini 파일에서 직접 입력하십시오. 그렇게하지 않으면 Eclipse가 열리고 좋지 않은 자체 검색을 시도합니다.

6
sayannayas

이를 해결하는 쉬운 방법 중 하나는 설치된 JDK의 jre 폴더를 Eclipse 설치 폴더에 복사하는 것입니다. 복사하는 JDK가 Eclipse 설치와 동일한 아키텍처인지 확인하십시오.

그 방법으로 컴퓨터를 구성해야했습니다. 왜냐하면 내 컴퓨터에서 Eclipse와 Appcelerator Titanium Studio 를 실행했기 때문입니다. Studio에는 32 비트 Java가 필요하고 Eclipse에는 64 비트가 필요합니다.

6
Mike Starov

PATH 환경 변수를 확인하십시오. 내 컴퓨터 -> 속성 -> 고급 시스템 설정 -> 환경 변수 -> (왼쪽 상단 창 "일부 PC 이름"에 대한 사용자 변수) PATH 변수를 점검하십시오. 존재하지 않으면 다음과 같이 작성하십시오. -> C :\Program Files (x86)\Java\jre7\bin <-

내 Eclipse를 업데이트 한 후에 같은 문제에 직면했습니다. 경로에서 64 비트 버전을 찾았지만 diff 경로에 32 비트가 있습니다. 그것은 나를 위해 도움이되었다. 추신 : 64 비트 OS, 32 비트 JRE 및 32 비트 Eclipse가 있습니다. 모든 작품 잘 :)

5
user1600401

예, Eclipse 및 JDK 이 모두 64 비트인지 확인하십시오. 모든 것이 제대로 설치 제거 된 JDK인지 확인한 다음 Program Files 에 설치하고 Program Files (x86) 에 설치하지 마십시오. 적어도 그것은 내 문제를 해결했다.

5
Jeena

모든 이전 [JREs] [1]을 제거한 후 최신 버전을 설치해야합니다 ... 같은 문제가 있었지만 이제 해결했습니다. 나는 :

Jre 6 32 비트를 더 잘 설치하십시오. 이것은 진짜 작동한다.

5
Marcin Erbel

Java 6에서 Java 7로 업그레이드 한 후에도 동일한 문제가있었습니다. Java 6 (64 비트)를 제거하고 Java 7 (64 비트)을 다시 설치 한 후 Eclipse가 작동했습니다. :)

4
Supun Sameera

감사합니다 misterfrb 나는 Oracle이 설치 한 Oracle 10g Developer suite 때문에 이클립스가이 오류를 제공한다는 것을 깨달았고 jvm.dll 폴더에서 C:\DevSuiteHome_1 파일을 찾고있었습니다. JDK를 개발자 슈트와 함께 다시 설치).

Path 변수에서 DevSuiteHome 행을 제거하고 64 비트 jvm.dll에 대한 수정 위치를 추가 한 후 (필요하지 않은지 확실하지 않고 시도하지 않은 경우) Eclipse가 다시 작동하고 Developer Suite도 계속 수행됩니다.

4
Unegma

64 비트 JVM을 사이트에서 다운로드하여 수동으로 설치하고 시스템 경로 변수를 업데이트했습니다. 그것으로 문제가 해결되었습니다.

  1. 내 시스템에 설치된 기본 JVM은 "C :\Program Files
    (x86)\Java\jre7 "
  2. 수동으로 설치된 JVM은 "C :\Program Files\Java\jre7"에 설치되고이 경로를 시스템 경로 변수로 업데이트 한 후에 작동합니다.
4
Satya

간단한, 64 비트 OS, 32 비트 Eclipse 및 JDK 32 & 64가 모두 설치되었습니다 ... 64 비트 JDK를 제거하고 Eclipse가 잘 작동합니다.

4
PushkarHJoshi

이 오류에 대한 또 다른 해결책, 특히 한 시스템에서 32 비트 및 64 비트 Eclipse를 사용하고자하는 사람들을 위해이 솔루션을 제공하고 싶습니다.

Eclipse는 jre 하위 디렉토리에 JRE/JDK를 사용하여 시작할 수 있습니다. (STS 또는 다른 Eclipse 기반 IDE도이 기능을 지원합니다 ...)

해결 방법은 Windows Vista 또는 최신 버전 ( junction.exe Windows 2000/XP의 경우 유사한 기능 제공)에있는 mklink.exe 명령을 사용하여 디렉토리 접합을 생성하는 것입니다.
명령 행 창을 열고 다음 명령을 실행하십시오 :

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, 디렉터리 접합 삭제NOT모든 파일을 삭제하십시오. 잘못된 링크를 만들면 파일 탐색기 또는 rmdir 명령을 사용하여 링크를 삭제할 수 있습니다.

rmdir "d :\devTool\Eclipse\jre"

3
Beck Yang

-vm 매개 변수와 그 값을 2 줄에 추가하는 것이 중요합니다. AT Eclipse.ini의 시작

-vm C :\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

3
Rolf

관리자 권한으로 Eclipse를 시작하고 있는지 확인하십시오.

3
Here to Help

환경 변수에서 Java_HOME 및 PATH의 올바른 버전을 변경했습니다.

2
Sreedhar GS

Eclipse의 다운로드 페이지에는 "Windows 32 비트"또는 "Windows 64 비트"가 아닌 "JRE 32 비트"또는 "JRE 64 비트"로 작성되어야합니다.

앞서 답변 한대로 JDE와 호환되는 올바른 버전을 사용해야합니다.

2
A_rnO

32 비트 버전의 JDK 를 64 비트 시스템에 설치할 수 있습니다.JDK 7 다운로드을 참조하십시오.

2

전체 64 비트 트리오를 사용해도 여전히 작동하지 않는다면 (Intellij Idea에서 Android Monitor를 실행하는 동안이 문제가 발생했습니다.) 아마도 Java가 예상하는 것과 반대되는 잘못된 jvm.dll이 사용되었을 것입니다. 다음 단계를 따르십시오.

  1. JRE 디렉토리에서 jvm.dll을 찾으십시오. C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. JDK 디렉토리에서 jvm.dll을 찾으십시오. c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. JRE 디렉토리의 jvm.dll를 JDK 디렉토리에 복사하고 JDK의 jvm.dll을 덮어 씁니다.

잠정적으로 백업하는 것을 잊지 마십시오. Java와 관련된 항목을 설치하거나 제거 할 필요가 없습니다.

2
rootpd

나에게도 마찬가지였다. 필자는 64 비트 Eclipse를 사용했지만 JDK는 32 비트였습니다. 그래서 64 비트 버전을 설치했고 지금은 괜찮습니다.

2
felipe.zkn

이유는 모르겠지만 jre를 내 c :\windows 디렉토리에 설치하고 Java.exe와 javaw.exe를 windows\system32 디렉토리에 설치했습니다.

분명히이 디렉토리는 Eclipse.ini 파일에 -vm 플래그를 추가 한 후에도 우선 순위를 얻고있었습니다.

여기에서 삭제하면 문제가 해결됩니다.

2
Guy Lowe

PDT users - avoid Zend 다운로드 페이지 - 64 비트 다운로드 링크가 없습니다.

Elipse 사이트 자체 를 사용하십시오.

위의 링크는 구식 3.6 Eclipse를 가지고 있었는데,이 Eclipse는 Eclipse 버그 # 317785 로 인해 자체적으로 업데이트하지 못했습니다.

필자의 해결책은 32 비트 Java를 64 비트와 함께 설치하는 것이 었습니다.이 방법으로 Zend 설치 프로그램을 사용할 수있었습니다.

PHP IDE를 얻으려면 Java/Eclipse cruft 중 하나를 끝내야합니다.

2
cloakedninjas

필자의 경우, Prompt에서 Java를 실행하려고 시도했으며이 오류가 발생했습니다.

오류 : "C :\Windows\jre\lib\AMD64\jvm.cfg"을 열 수 없습니다.

그것은 "Java"가 PATH에서이 잘못된 디렉토리로 시작하여 찾았습니다. C :\Windows\jre 폴더를 삭제하면 문제가 해결되었습니다.

1
Federico Giorgi

나는 이클립스 오류를 모두 경험했고 이것도 그 중 하나이다. 문제는 이클립스 64 비트 버전이다. 32 비트 버전을 다운로드하고 실행하십시오.

0
sadegh saati

가장 쉬운 해결책은 Eclipse.ini에 특정 JRE를 포함시키는 것입니다.

wiki.Eclipse.org/Eclipse.ini

이를 통해 거의 모든 Eclipse 버전을 시작할 수 있습니다.

0
keesp

나는 똑같은 문제가 있었다. 64 비트 OS는 모두 64 비트 여야합니다. 자바와 이클립스. stackoverflow 및 유튜브에서 모든 메서드를 시도했다. 나는이 쉬운 방법을 찾을 때까지 그들 중 누구도 나를 위해 일하지 않았다.

64bit Java Cnet 다운로드를 설치했는데 문제가 자동으로 수정되었습니다. 나는 당신이 새로운 꿀벌 인 경우에 google에 너무 쉬우므로 첫번째 원본 Cnet 보풀보다는 오히려 정보 출처를 언급했다.

추신. 안드로이드 ADT 번들을 가지고 있고 그것으로부터 Eclipse를 열려고 시도하고 같은 오류가 발생했다면,이 방법으로도이 문제를 해결할 수 있습니다.

0
Priyankara

이 오류는 다른 Java 버전 다운로드 32 비트 버전 때문에 발생합니다.

0
vaquar khan

JDK 1.8._91 (혼합 모드)을 설치하면이 문제를 해결할 수 있습니다.

0
HaryTD