假如你在Ubuntu上运行Java程序,使用Eclipse、Maven或Netbeans等等,你将须要将JAVA_HOME环境变量设置为正确的路径。否则,你的系统将会向你指责“java_home环境变量没有设置”。
在这篇初学者教程中,我将向你展示在Ubuntu上正确地设置JAVA_HOME变量的步骤。这种步骤应当也适用于大多数的其它的Linux发行版。
设置过程包含这种步骤:
步骤1:核查JDK是否早已安装
核查Java开发工具包(JDK)是否早已安装在你的Linux系统上的最简单的方式是运行这个命令:
javac --version
里面的命令将核查Java编译器的版本。假如早已安装了Java编译器,它将显示Java版本:
JavaCompilerisinstalled
假如里面的命令显示像这样未找到javac命令的错误信息,你得先安装JDK:
JavaCompilerisnotinstalled
假如在你的系统上并没有安装Java编译器,使用这条命令来安装Java开发工具包(JDK):
sudo apt install default-jdk
复制
这将在你当前的Ubuntu版本中安装默认的Java版本。假如你须要一些其它版本的Java版本,这么你必须在Ubuntu中安装Java时具体强调它的版本。
在你确保Java编译器存在于你的系统之中后,接出来就到了查找其位置的时侯了。
步骤2:获取JDK可执行文件(Java编译器)的位置
可执行文件一般坐落/usr/lib/jvm目录之中。但我不会让你来玩一个猜谜游戏,让我们来找出Java可执行文件的路径。
使用which命令来获取Java编译器可执行文件的位置:
which javac
复制
在这儿的问题是,它给出的位置实际上是一个符号链接。你将须要根据右图执行几次:
最简单的方式是直接使用下边这条命令追随符号链接来以获取实际的可执行文件:
readlink -f `which java`
复制
readlink命令会跟着一个符号链接。我在whichjava的内侧使用readlink将会使用whichjava的输出来替换要检测的符号链接,这被称之为命令替换。为此,在这个实例中,前面的命令大体上相当于readlink-f/usr/bin/java。
在我的示例中,可执行文件的位置是/usr/lib/jvm/java-11-openjdk-amd64/bin/java。对你来说可能会不一样。在你的系统中,复制上述命令所获取的正确的路径。你晓得,你可以在Ubuntu的终端中复制和粘贴。
步骤3:设置JAVA_HOME变量
如今,你已然获取了位置,使用它来设置JAVA_HOME环境变量:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
复制
核查JAVA_HOME目录的值:
echo $JAVA_HOME
复制
尝试在同一个终端中运行你的Java程序或工程,并查看它是否工作。
这仍未结束。你刚才申明的JAVA_HOME环境变量是临时的。假如你关掉这个终端或开始一个新的会话,它将会再度弄成空的。
为了“永久地”设置JAVA_HOME变量linux中文乱码,你应当将其添加到你的家目录中的.bashrc文件中。
你可以在Linux终端中使用Nano编辑器来编辑文件。假如你不想使用它linux 和 su 的使用 环境变量详解,并想采取一种简单的复制和粘贴的方式,使用下边的命令:
首先备份你的.bashrc文件(以防万一你把它弄湿了,你还可以将其再恢复回去):
cp ~/.bashrc ~/.bashrc.bak
复制
接出来,使用echo命令来追加在这一节开头使用的export命令。你应当适当地修改下边的命令,便于其正确地使用你的系统所显示的路径。
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java" >> ~/.bashrc
复制
验证它早已被正确地添加到文件的结尾处:
tail -3 ~/.bashrc
复制
里面的tail命令将显示所具体指定文件的最后3行。
这儿是前面的三个命令的全部的输出:
现今,虽然你退出会话或重新启动系统嵌入式linux驱动程序设计从入门到精通,JAVA_HOME环境变量都仍将设置为你所具体指定的值。这就是你所想要的,对吧?
注意,假若你将来修改默认的Java版本,你将须要修改JAVA_HOME环境变量的值并将其指向正确的可执行文件的路径。
我希望这篇教程除了会帮助你设置JAVA_HOME环境变量linux 和 su 的使用 环境变量详解,也会教会你怎么完成这项工作。
假如你始终面临困局或则有一些疑惑或建议,请在评论区告诉我。