web-dev-qa-db-ja.com

Java 8:クラスJavaLaunchHelperは両方に実装されています

Cassandraを起動しようとしていますが、JavaLaunchHelperが2つの場所にあるという問題が発生しています。Java 8.を実行しています。正確なエラー:

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

Java 7について同様の質問が見つかりました:

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

これを解決する最善の方法は何ですか?

17
user3181113

これはJDKのバグであり、まだ修正されていません(8u25現在)。詳細はこちら こちら

15
J.R. Garcia

問題ではなく、単に迷惑なメッセージです。ただし、CassandraはJava 8に対してまだ検証されていないため、奇妙な点が見られる場合があります。

1
Zanson

Preferences/Build、Execution、Deployment/Debuggerに移動して、次のオプションを無効にする必要があります。「Force Classic VM for JDK 1.3.x and later)」

1
David Figueroa

ファイル〜/ .bashrc(または/および〜/ .zshrc)に行を追加して保存します

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

(ログアウト/ログイン)ターミナル(IDE)を再起動します

0
Andrey

この問題は2つのステップで解決します。

1. /Library/Internet Plug-Insに移動し、JavaAppletPlugin.pluginディレクトリを削除します。

2. /Library/PreferencePanesに移動してJavaControlPanel.prefpaneを削除します。

基本的に、1つのことを実行します。jreをアンインストールします。

0
Charles He