クラスJavaLaunchHelperは…libinstrument.dylibの両方に実装されています。2つのうちの1つが使用されます。どれが未定義か


274

私は最新のものにアップグレードしたJava 7u40のMacOS Xと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以降で修正されたセキュリティリークに対して脆弱になる可能性があります。
マティアスウェンツ2014年

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
トビア

8
jdk1.8.0_25にはまだバグがあります。これは単なるしつこいメッセージですか、それとも実際の問題ですか?
チャーク、2014年

7
この問題のバグレポートは、修正がJDK9リリースに含まれうることを示唆しています。同じバグレポートには次のように書かれています:「これについて質問し続ける人にとって:メッセージは無害です。そのクラスの両方のコピーが同一であるため、この問題による悪影響はありません(まったく同じソースからコンパイルされます)。化粧品の問題。」
ジョーダン

回答:


176

⚠️JetBrains IntelliJ IDEAの場合:に移動し Help -> Edit Custom Properties...ます。ファイルを作成するように求められたら、ファイルを作成します。エラーメッセージを無効にするには、作成したファイルに以下を貼り付けます。

idea_rt
idea.no.launcher=true

これは、IntelliJの再起動時に有効になります。

私はEclipse IDEバージョン:Photonリリース(4.8.0)ビルドID:20180619-1200でmacOS 10.14.6(Mojave)を実行しています。に行を追加しましたidea.no.launcher=true<install location>/eclipse/configuration/config.ini、これで問題が解決しました。


9
他に何もせずに私のために働いた。これは正しいとマークされているはずです。
trishulpani 2017年

7
IDEA 2017.1.3 OSX 10.12.5 JRE 1.8で私のために働いた
Daniel Rucci

2
OPはIntelliJではなくEclipseを使用していました。したがって、間違ったエディターで設定を変更するための指示をユーザーに与えます(そのため、正しいものとしてマークされていません)。
アリソン

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


20
  1. 次の場所からJava 7u21をインストールします:http ://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR

  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でエクスポートexport 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

1
@gotoalberto JavaLaunchHelperの両方の実装がホームディレクトリにある場合、この環境変数はどのように問題を解決しますか?
Prashant 2016

1
@Lichtambergソナーランナーを使用して、アプリのコードカバレッジの評価を開始します。上記のバージョンでも同じ問題が発生します。私は私のMac OSでそのパッチで多くの8バージョンを試しましたが。運はありません。
サティシュ

こんなことしないで。(2013年にリリースされているので、大小のパッチの4年間を逃した以外)のJava 7u21任意のコードが実行される脆弱性があります。gist.github.com/frohoff/24af7913611f8406eaf3
mseebach

11

@Lichtambergのコメントをgotoalbertoの回答に貼り付ける

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を編集した後もAndroid Studio(2.2p3)で問題が発生します
Mic Fok

intellijでは機能しません。これらのファイルを作成/編集した後、次のステップはありますか?
xpto 2017

5

これが問題の原因かどうかはわかりませんが、JVMモニターをインストールした後でないと、この問題は発生しません。

JVM Monitorをアンインストールすると問題が解決しました。


同じように、Eclipse用のJVMモニターがメッセージの原因でした(JBoss 7.1、JDK 1.8.0.X)。
psychowood 2015

私がeclipseにeclEmmaプラグインをインストールしたときに始まりました
Nooblhu

ここでも同じ問題。JVMモニターをアンインストールし、これが表示されなくなった
Zhiya

4

他の回答の詳細として、これはJDK(u45まで)のバグであり、JDK7u60で修正されます-これはまだリリースされていませんが、https://jdk7.java.net/downloadからb01をダウンロードできます。 html

ベータ版ですが、この問題は修正されました。


11
u60をインストールしましたが、それでもClass 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。2つのうちの1つが使用されます。どれが未定義か。
Rich Sadowsky

b01とb02の間に再導入されたようです
npskirk 2013

2
バグへの言及はありますか?URL?
binarytemple_picsolve 2014年

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は両方に実装されています。2つのうちの1つが使用されます。どれが未定義か


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がリストされていることを確認してください。

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

ユーザーの家ではなく...


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.