JavaLaunchHelperクラスは2か所で実装されています。質問する

JavaLaunchHelperクラスは2か所で実装されています。質問する

今日、macOS Sierra で Intellij Idea をアップグレードしたところ、コンソールでアプリを実行すると次のエラーが発生します。

objc[3648]: クラス JavaLaunchHelper は、/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0) と /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ea194e0) の両方に実装されています。 2 つのうちの 1 つが使用されます。 どちらが使用されるかは未定義です。

ベストアンサー1

詳細は以下をご覧ください:

  • アイデア-170117実行コンソールに「objc: クラス JavaLaunchHelper は両方に実装されています...」という警告が表示される

それはJavaの古いバグMacではJavaエージェントによってトリガーされたアプリの起動時に IDE によって使用されています。このメッセージは無害なので無視しても問題ありません。Oracle 開発者のコ​​メント:

メッセージは無害であり、そのクラスの両方のコピーは同一 (まったく同じソースからコンパイル) であるため、この問題による悪影響はありません。これは純粋に表面的な問題です。

問題は解決しましたJava9 についてそしてJava 8 アップデート 152

これが煩わしかったり、アプリに何らかの影響を与えたりする場合 (そうであってはなりません)、IntelliJ IDEA の回避策としては、 ( | )を追加idea_rtしてランチャー エージェントを無効にすることです。この回避策は、IDE を次に再起動したときに有効になります。idea.no.launcher=trueidea.propertiesHelpEdit Custom Properties...

ただし、IntelliJ IDEA ランチャー エージェントを無効にすることはお勧めしません。これは、正常なシャットダウン (終了ボタン)、スレッド ダンプ、OS の制限を超える長すぎるコマンド ラインの問題の回避策などの機能に使用されます。無害なメッセージを隠すためだけにこれらの機能を失うことはおそらく価値がありませんが、それはあなた次第です。

おすすめ記事