Java 8:类JavaLaunchHelper在两者中实现

我正在尝试启动Cassandra,我遇到了一个问题,JavaLaunchHelper位于两个地方。 我正在运行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类在两者中实现。 将使用两者之一。 哪一个未定义

解决这个问题的最佳方法是什么?

这是JDK中的一个错误,但仍未修复(截至8u25)。 在这里查看更多信息。

不应该是一个问题,只是一个恼人的消息。 但是Cassandra还没有针对java 8进行validation,所以你可能会看到一些奇怪的东西。

您必须转到首选项/构建,执行,部署/调试器并禁用选项:“强制JDK 1.3.x及更早版本的经典VM”这适用于我

将行放到文件〜/ .bashrc(或/和〜/ .zshrc)并保存

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

然后重启(注销/登录)终端(IDE)

两个步骤解决了这个问题:

1.导航到/Library/Internet Plug-Ins并删除JavaAppletPlugin.plugin目录。

2.导航到/Library/PreferencePanes并删除JavaControlPanel.prefpane

基本上,做一件事:卸载jre!