安装Java8后,javac-version可以在我的mac上工作,但不能在java-version上工作

安装Java8后,javac-version可以在我的mac上工作,但不能在java-version上工作,java,macos,jvm,homebrew,Java,Macos,Jvm,Homebrew,我在macbook pro操作系统10.10.5上设置java 8开发环境时遇到一些困难 在终端中,我执行了以下操作: brew update brew cask install java --force 上述步骤完成后,它说: java已成功安装 现在我需要弄清楚如何在.bash\u配置文件中设置JAVA\u主变量 但我看到了以下奇怪的情况: petesp$ javac -version javac 1.8.0_102 但是下面到底发生了什么,为什么?如何在MAC for JAVA 8上

我在macbook pro操作系统10.10.5上设置java 8开发环境时遇到一些困难

在终端中,我执行了以下操作:

brew update
brew cask install java --force 
上述步骤完成后,它说:

java已成功安装

现在我需要弄清楚如何在.bash\u配置文件中设置JAVA\u主变量

但我看到了以下奇怪的情况:

petesp$ javac -version
javac 1.8.0_102
但是下面到底发生了什么,为什么?如何在MAC for JAVA 8上设置JAVA_主页

petesp$ java -version
-bash: java: command not found

为什么找不到java版本?这太奇怪了。如果我使用brew安装java,我假设javac-version和java-version都应该正确运行。

此脚本允许您在Java1.7Java1.8之间切换,并在bash配置文件上设置JDK

在主目录中的.bashrc或.bash_配置文件脚本中插入以下代码块

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
对于JDK 1.7:

#set default jdk version
setjdk 1.7.0_60
设置bash启动脚本后。可以使用以下命令在命令行中切换版本

切换到Java 1.7并验证您的版本。运行以下命令

$ setjdk 1.7
$ java -version
$ setjdk 1.8
输出:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
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)
切换回Java1.8并验证您的版本。运行以下命令

$ setjdk 1.7
$ java -version
$ setjdk 1.8
输出:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
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)

此脚本使您能够在Java1.7Java1.8之间切换,并在bash配置文件上设置JDK

在主目录中的.bashrc或.bash_配置文件脚本中插入以下代码块

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
对于JDK 1.7:

#set default jdk version
setjdk 1.7.0_60
设置bash启动脚本后。可以使用以下命令在命令行中切换版本

切换到Java 1.7并验证您的版本。运行以下命令

$ setjdk 1.7
$ java -version
$ setjdk 1.8
输出:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
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)
切换回Java1.8并验证您的版本。运行以下命令

$ setjdk 1.7
$ java -version
$ setjdk 1.8
输出:

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
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)

java在你的道路上吗?你安装了JRE吗?奇怪的是#出现在错误输出中。
哪个javac
哪个java
的输出是什么?哦,不,那是我的评论@JasonC-当我运行
哪个javac
时,
哪个java
没有输出,它返回:
/usr/bin/javac
,但是运行
哪个java
它不会返回路径中的任何东西?你安装了JRE吗?奇怪的是#出现在错误输出中。
哪个javac
哪个java
的输出是什么?哦,不,那是我的评论@JasonC-当我运行
哪个javac
时,
哪个javac
没有输出,它返回:
/usr/bin/javac
,但是运行
哪个java
它不返回我需要运行的任何东西。bash_profile?不确定这是如何在mac上完成的。我试图运行setjdk 1.8,但未找到输出
命令。
@user836087您需要将其添加到./bash_配置文件中。我这样做了。它不起作用<代码>setjdk 1.8-bash:setjdk:未找到命令@user836087 Ok。试着运行这个:export JAVA_HOME=
/usr/libexec/JAVA_HOME-v1.8
@user836087 Ok。一旦删除,就无法检索。我想,你需要重新开始。下载jdk并重新安装。我需要运行.bash\u配置文件吗?不确定这是如何在mac上完成的。我试图运行setjdk 1.8,但未找到输出
命令。
@user836087您需要将其添加到./bash_配置文件中。我这样做了。它不起作用<代码>setjdk 1.8-bash:setjdk:未找到命令@user836087 Ok。试着运行这个:export JAVA_HOME=
/usr/libexec/JAVA_HOME-v1.8
@user836087 Ok。一旦删除,就无法检索。我想,你需要重新开始。下载jdk并重新安装。