我已从官方Oracle网站在MacOS X 10.10上安装了JRE 1.8。我安装的文件是jre-8u66-macosx-x64.dmg
。令我惊讶的是,java
命令说我需要JDK才能工作。
有没有办法在没有JDK的Mac上从命令行执行jar?如果没有,那么运行Java代码的选项是什么(除了浏览器applet)?
编辑:从命令行调用java -v
时,我得到以下输出:
没有Java运行时,请求安装。
和一个警告窗口,上面写着:
使用" java"命令行工具,您需要安装JDK。
还有一个数据点:文件夹/ Library / Java / JavaVirtualMachines为空。相反,/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
下有这些东西。它甚至在/ bin /下有一个命令行java
。使用-version
运行它会显示:
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
我想知道我是否能以某种方式利用那个用于CLI ..
答案 0 :(得分:3)
是的,命令行上的完整Java功能需要SDK。
SDK提供了一个Java安装,其中包含未包含在applet runner中的特定于操作系统的库。 我想一些Java应用程序和applet的子集可能从命令行运行正常,但applet插件提供了不同的服务。
这让我很烦恼多年,因为我一次又一次需要一个Java环境,但大多数时候我更喜欢在我的系统上找不到它。即使我安装了浏览器插件,它通常也会被禁用。
答案 1 :(得分:1)
如果重新安装无法解决问题,可以将$ JAVA_HOME设置为安装java的位置:
export JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
之后, java -v
应该有效,但您必须为每个新的终端窗口执行此操作,或者将其添加到.bash_profile
或其他文件,具体取决于您使用的shell。
答案 2 :(得分:0)
收到此消息后,您已经安装了JDK或未安装JDK,通常是您所使用的应用程序需要SDK的早期版本。
来自Java.com上的此page:
最常见的原因是应用程序需要Apple提供的旧版Java 6。有关此问题的解决方案,请参见http://support.apple.com/kb/DL1572。
它重定向到Apple网站上的page,以下载并安装以前的版本。