好吧,我对Mac和OSX有点陌生,但我选择了一个,这样我就可以用一个对我的Java程序进行一些故障排除,因为我工作的公司使用OSX和Windows机器的组合。我遇到的问题是,当我从Oracle的网站安装Java7时,它更新了首选项菜单,双击.jar文件时显示可以正确执行这些文件,但终端窗口的版本仍然是1.6.0_43,从终端运行相同的.jar文件会导致运行时错误,原因是版本较旧。
当我导航到/library/java/javaVirtualMachines/时,我看到的是一个空文件夹。从我在其他文章中看到的内容来看,Java1.7.0的版本文件夹应该在这里。知道怎么回事吗?如何让终端使用正确版本的Java?
编辑:@dwilches评论他的原答案:(1)
total 64
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 17 21:38 1.6.0 -> CurrentJDK
drwxr-xr-x 8 root wheel 272 Mar 17 21:38 A
lrwxr-xr-x 1 root wheel 1 Mar 17 21:38 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 17 21:38 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
(2)
ls -ld /usr/bin/java
lrwxr-xr-x 1 root wheel 74 Mar 17 21:38 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
在Mac OS上,/usr/bin/java
和friends是委托真实JDK命令的存根。这些存根尊重java_home
环境变量的设置,但要使其工作,您需要安装JDK(从http://www.oracle.com/technetwork/java/javase/downloads/index.html),而不是JRE(从http://java.com)。
JDK安装到/library/java/javavirtualmachines/jdk1.7.0_NN.JDK
中(对于NN的任何值),因此将java_home
环境变量设置为/library/java/javavirtualmachines/jdk1.7.0_NN.JDK/contents/home
以使/usr/bin/java
使用1.7。只需将java_home
指向/system/library/java/javaVirtualMachines/1.6.0.jdk/contents/home
即可切换回1.6。您可以使用/usr/libexec/java_home
工具自动查找正确的值,例如使/usr/bin/Java
使用Java 7可以做到
export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'`
为了使它使用Java6,您可以
export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
这同样适用于Java 8(使用-v'1.8*'
)。这将为相关的主要版本获取最新安装的JDK,您不需要记住在安装更新时手动更改nn
。
如果希望从命令行运行1.7或1.8 JRE,可以在/library/Internet plug-ins/javaappletplugin.plugin/contents/home/bin/java
中找到。这是一个固定路径,您在任何给定时间只能安装一个“public”JRE。
$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "1.7.0_13"
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
您可以在.bashrc
中使用shell别名
alias java_jre='/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'
我已经在这个问题上纠结了好几个小时了,我相信除了把电脑扔出窗外之外,我什么都试过了。 我使用python版本3.7和Django版本2.1在Anaconda上设置了一个虚拟环境。如果我从Anaconda激活这个虚拟环境,一切都会顺利进行。 然而,当我试图从vscode终端激活环境时,我得到 我在vscode窗口的左下角显示了作为我的python解释器,但仍然得到了错误的python版本 我认为这可
问题内容: 我创建了一个新的Rails项目,调用 然后当我在目录中运行 我收到关注错误 我见过其他人遇到此错误,但他们通常是linux用户,并且我正在运行Windows。我试图重新安装Rails(railsinstaller.org)和mysql 5.5。我既使用了32位版本,也使用了64位版本 问题答案: 这里似乎已经有几个问题。您尝试过他们的解决方案吗? 相关部分在这里:
我已经在Linux中安装了pysnmp模块。 我想知道安装了哪个版本的pysnmp。如何通过Linux终端查看pysnmp版本?不工作。 我的linux中没有安装pip,因此也不起作用。。
问题内容: 好的,我对Mac和OSX有点陌生,但是我选择了一个,以便可以使用我的Java程序对一些Java程序进行故障排除,因为我工作的公司使用OSX和Windows机器的组合。我遇到的问题是,当我从Oracle网站安装Java 7时,它会更新首选项菜单,并在双击它们时似乎可以正确执行.jar文件,但是终端窗口的版本仍为1.6.0_43并运行由于版本较旧,终端上的相同.jar文件会导致运行时错误。
我最近在MacOS上安装了Python 3.10.1,并试图将VSCode设置为我的文件编辑器和集成终端。我成功安装了Python扩展,正如你在截图左下角看到的。然而,当我打开终端会话并检查Python的版本时,它显示2.7.18。 [![VSCode窗口的屏幕截图][1] 我尝试了settings.JSON文件中的各种设置,包括“terminal.integrated.inheritEnv:假”
我在Win 7下运行的是Ant 1.8.1。而我的Java版本是1.7_17。 我在我的构建文件中添加了以下2行用于诊断。 而结果就是 知道发生了什么吗? 蚂蚁1.8.1中的硬编码是它能显示的最高java版本是1.6吗?