JavaLaunchHelper 클래스는… libinstrument.dylib 모두에서 구현됩니다. 둘 중 하나가 사용됩니다. 어느 것이 정의되지 않은


274

MacOS X 에서 최신 Java 7u40 으로 업그레이드하고 Eclipse를 사용하여 응용 프로그램을 시작할 때 콘솔에서 다음 메시지가 표시되기 시작했습니다. 응용 프로그램은 정상적으로 작동하지만 문제의 원인과 해결 방법을 찾고 싶습니다.

objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.

이 메시지가 인쇄 된 이유와 해결 방법을 아는 사람이 있습니까?


3
이것은 이러한 특정 종류의 문제를 해결하기위한 실행 가능한 옵션 일 수 있지만 u45 이상에서 해결 된 보안 누출에 취약 할 수 있습니다.
Matthias Wenz

5
jdk1.8.0_05와 동일한 일이 발생합니다
neu242

28
1 년이 지났고 버그는 여전히 Mac을 사용하는 모든 Java 개발자에게 영향을 미칩니다 (OS X 10.9.3에서 jdk1.7.0_67로 검증 됨). 부끄러운. 적절한 로그인을 가진 사람이라면 누구나이 버그 bugs.java.com/bugdatabase/view_bug.do?bug_id=8021205bugs.openjdk.java.net/browse/JDK-8025876을
Tobia

8
jdk1.8.0_25에 대한 버그가 여전히 존재합니다. 이 메시지는 잔소리 나 실제 문제입니까?
Churk

7
이 문제에 대한 버그 보고서 는 JDK9 릴리스에 픽스가 포함될 수 있음을 나타냅니다. 같은 버그 보고서는 다음과 같이 말합니다 : "이 문제를 계속하는 사람들에게 : 메시지는 양성입니다. 해당 클래스의 두 복사본이 동일하기 때문에 (이것은 동일한 소스에서 컴파일 된 것이므로)이 문제에 부정적인 영향을 미치지 않습니다. 미용 문제. "
Jordan

답변:


176

⚠️ JetBrains IntelliJ IDEA의 경우 :로 이동하십시오 Help -> Edit Custom Properties.... 파일을 작성하라는 메시지가 표시되면 파일을 작성하십시오. 오류 메시지를 비활성화하려면 생성 한 파일에 다음을 붙여 넣습니다.

idea_rt
idea.no.launcher=true

이는 IntelliJ 다시 시작에 적용됩니다.

macOS 10.14.6 (Mojave)을 실행하는 Eclipse IDE 버전 : Photon Release (4.8.0) 빌드 ID : 20180619-1200입니다. 나는 줄 idea.no.launcher=true을 추가 <install location>/eclipse/configuration/config.ini했고 이것은 나를 위해 문제를 해결했다.


9
다른 일을하지 않고 나를 위해 일했습니다. 이것은 올바르게 표시되어야합니다.
trishulpani

7
IDEA 2017.1.3에서 나를 위해 일했습니다. OSX 10.12.5 JRE 1.8
Daniel Rucci

2
OP는 IntelliJ가 아닌 Eclipse를 사용하고있었습니다. 따라서 잘못된 편집기에서 설정을 수정하는 방법에 대한 지침을 제공하므로 올바른 것으로 표시되지 않습니다.
Allison

2
나는 @Allison에 동의합니다.이 답변에 Eclipse 수단이 포함되어 있다면 훌륭 할 것입니다. 그러나 잘못된 IDE에 대한 답변?
Daniel Soutar

1
IntelliJ 2018.3.3 CE, SDKMAN 5.7.3 + 337 및 OpenJDK 버전 "1.8.0_131"(Zulu 8.21.0.1-macosx)에서 작동했습니다.
David Lukac

117

년 10 월 2017,이 문제는 지금 해결


4
방금 Java 버전 "1.8.0_144"를 설치했는데 문제가 발생했습니다.
Reihan_amn

2
@Reihan_amn 당신은 빌드 152까지
muttonUp

1
jdk1.8.65에 문제가 있었지만 jdk1.8.152가이 문제를 해결했습니다. 감사합니다
Anshul

20
  1. http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR 에서 Java 7u21을 설치 하십시오.

  2. 다음 변수를 설정하십시오.

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
  3. 앱을 실행하고 재미있게 보내십시오. :)


3
1.8.0_92에서도 작동 : # .zshrc 또는 .bashrc 내보내기 JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_92.jdk / Contents / Home export PATH = $ JAVA_HOME / bin : $ PATH
BvuRVKyUVlViVIc7

@Lichtamberg 덕분에 Java 8 mac osx에서 문제가 해결되었습니다. 나는 거의 모든 다른 답변이 작동하는 것처럼 귀하의 의견을 답변으로 추가했지만 이제는 절대적입니다.
Pritesh Jain 2016

1
@gotoalberto JavaLaunchHelper 구현이 모두 홈 디렉토리에있을 때이 환경 변수가 어떻게 문제를 해결합니까?
Prashant

1
@Lichtamberg 소나 러너를 사용하여 앱의 코드 적용 범위를 평가하고 있습니다. 위에서 언급 한 버전과 동일한 문제가 계속 발생합니다. 내 맥 OS에서 패치로 많은 8 버전을 시도했지만. 불운.
Sathish

이것을하지 마십시오. Java 7u21 (2013 년에 출시되어 4 년 동안 크고 작은 패치를 놓친 것 외에도) 임의의 코드 실행 취약점 : gist.github.com/frohoff/24af7913611f8406eaf3
mseebach

11

gotoalberto 님의 답변에 @Lichtamberg 님의 의견을 붙여 넣기

Java 1.8에서도 작동합니다.

# in ~/.zshrc and ~/.bashrc

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home 
export PATH=$JAVA_HOME/bin:$PATH 

이것은 Java 8에서 내 문제를 해결했습니다.


4
그럼에도 불구하고 ~ / .zshrc와 ~ / .bashrc에 편집 한 후 안드로이드 Studio의 문제 (2.2p3)을 경험
마이크 FOK

intellij에서 작동하지 않습니다. 이러한 파일을 만들고 편집 한 후 다음 단계가 있습니까?
xpto April

5

이것이 문제의 원인인지 확실하지 않지만 JVM 모니터를 설치 한 후에만이 문제가 발생합니다. .

JVM Monitor를 제거하면 문제가 해결되었습니다.


여기서도 Eclipse 용 JVM 모니터가 메시지 (JBoss 7.1, JDK 1.8.0.X)를 발생 시켰습니다.
psychowood

내가 eclEmma 플러그인을 일식에 설치했을 때 그것은 나를 위해 시작되었다
Nooblhu

여기에도 같은 문제가 있습니다. JVM 모니터를 제거
했는데

4

다른 답변에 대한 세부 사항으로, 이것은 JDK7u60에서 수정 될 JDK의 버그입니다 (최대 u45). 아직 나오지 않았지만 아래에서 b01을 다운로드 할 수 있습니다. https://jdk7.java.net/download . html

베타 버전이지만 문제가 해결되었습니다.


11
u60을 설치했지만 여전히 클래스 JavaLaunchHelper가 /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/java 및 /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/에 모두 구현되어 있습니다. 홈 /jre/lib/libinstrument.dylib. 둘 중 하나가 사용됩니다. 어느 것이 정의되지 않았습니다.
Rich Sadowsky

외모 그것은 B01과 B02 사이에 재 도입 것처럼
npskirk

2
버그에 대한 언급이 있습니까? URL?
binarytemple_picsolve

3
실제로 여전히 고정되어 있지 않습니다. 그들은 u60에서 픽스를 지원했습니다
Zanson

2

https://groups.google.com/forum/#!topic/google-appengine-stackoverflow/QZGJg2tlfA4

내가 온라인에서 찾은 것에서 이것은 JDK 1.7.0_45에서 소개 된 버그 입니다. Java의 다음 릴리스에서 수정 될 것이라고 읽었지만 아직 나오지 않았습니다. 아마도 1.7.0_60b01에서 수정되었지만 다운로드 위치를 찾을 수 없으며 1.7.0_60b02에서 버그를 다시 소개합니다.

JDK 1.7.0_25로 되돌려 서 문제를 해결할 수있었습니다. 아마 당신이 원하는 솔루션은 아니지만 그것이 내가 그것을 얻을 수 있었던 유일한 방법입니다. JDK를 설치 한 후 Eclipse에 JDK 1.7.0_25를 추가하는 것을 잊지 마십시오.

이 이메일에 직접 회신하지 말고 StackOverflow로 이동하십시오. JavaLaunchHelper 클래스는 두 가지로 구현됩니다. 둘 중 하나가 사용됩니다. 어느 것이 정의되지 않은


1

이 문제를 해결하기 위해 JDK 버전 1.7.0_21로 다운 그레이드했습니다 . 그런 다음 작은 bash 스크립트를 사용하여 사용하는 버전을 변경했습니다.

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }

 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }

zshrc / bshrc 파일에 bash 스크립트가 있으면 호출 setJdk 1.7.0_21하면됩니다.


0

글쎄, 약간의 어려움을 겪은 후, 나를 위해 일한 것은 여기에 설명 된 것처럼 현재 JDK를 완전히 제거하는 것이 었습니다 .

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

그런 다음 여기 에서 다운로드 한 1.7.0_21을 설치 하십시오 .

이제 java -version프롬프트 :

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

0

2019 년 7 월

OSX Mojave 10.14.5 (18F132) IntelliJ 2019-1 Community Edition. idea.properties 파일을 설정했습니다. 또한 /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/을 가리키는 JAVA_HOME을 구성했습니다.

사용자 정의 IntelliJ IDEA 속성

idea_rt idea.no.launcher = true


-2

IntelliJ & Mac을 사용하는 경우 프로젝트 구조-> SDK로 이동하여 Java가 나열되어 있지만 sth를 가리키는 지 확인하십시오.

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

사용자가 아닌 ...


-3

jdk-7u80-macosx-x64.dmg가이 문제를 해결합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.