如何在 Ubuntu 中运行 Java 程序

如何在 Ubuntu 中运行 Java 程序
sachin@sachin-Lenovo-G550:~$ java -version
java version “1.7.0_21″
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK Server VM (build 23.7-b01, mixed mode)

当我运行上述命令时,显示 Java 已安装在我的系统中,但当我要编译任何 Java 程序时,它会显示以下错误消息:

sachin@sachin-Lenovo-G550:~/programs$ javac abc.java
The program ‘javac’ can be found in the following packages:
* default-jdk
* ecj
* gcj-4.6-jdk
* gcj-4.7-jdk
* openjdk-7-jdk
* openjdk-6-jdk
Try: sudo apt-get install

请告诉我如何摆脱它并运行我的 Java 程序。

答案1

打开终端并运行:

sudo apt-get install openjdk-7-jdk

然后像以前一样使用以下命令编译 Java 程序:javac abc.java。然后使用以下命令运行它:

java abc  ## The name of the class to be called is abc NOT abc.class

您还可以在第一个命令中用 openjdk-6-jdk 代替 openjdk-7-jdk。在 Ubuntu 15.10 及更高版本中,您还可以在第一个命令中用 openjdk-8-jdk 代替 openjdk-7-jdk。在 Ubuntu 17.10 中,您还可以用 openjdk-9-jdk 代替。在 Ubuntu 17.10 及更高版本中,您还可以用 openjdk-11-jdk 代替。

在 Java 9 和 Java 9 中,Java 有一个内置的 shell,可以直接从终端运行 Java 代码块,而无需先编译 Java 代码,杰壳,定义于JEP 222. 要从终端类型启动 jshell jshell

$杰壳
| 欢迎使用 JShell -- 版本 11.0.7
| 如需介绍,请输入:/help intro

jshell>

要退出 jshell ,请输入/exit

答案2

如果您希望安装 Oracle JDK,本文将逐步介绍如何安装 Oracle JDK 8: 在 Ubuntu 中安装最新的 Oracle JDK

步骤1: 从官方下载最新的JDK(jdk-Xuxx-linux-xXX.tar.gz)关联

第2步: 打开终端(Ctrl + Alt + T)并输入以下命令。

sudo mkdir /usr/lib/jvm

步骤3: 输入以下命令来更改目录。

cd /usr/lib/jvm

步骤4: 使用此命令提取该目录中的 jdk-Xuxx-linux-xXX.tar.gz 文件。

sudo tar -xvzf ~/Downloads/jdk-8u45-linux-x64.tar.gz

步骤5: 输入以下命令打开环境变量文件。

sudo gedit /etc/environment

第 6 步: 在打开的文件中,将以下 bin 文件夹添加到现有的 PATH 变量中。

/usr/lib/jvm/jdk1.8.0_45/bin
/usr/lib/jvm/jdk1.8.0_45/db/bin
/usr/lib/jvm/jdk1.8.0_45/jre/bin

PATH 变量必须用分号分隔。请注意,安装的 JDK 版本是 1.8 update 45。根据您的 JDK 版本,路径可能会有所不同。在文件末尾添加以下环境变量。

J2SDKDIR="/usr/lib/jvm/jdk1.8.0_45"
J2REDIR="/usr/lib/jvm/jdk1.8.0_45/jre"
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_45"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_45/db"

修改前的环境文件:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

修改后的环境文件:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_45/bin:/usr/lib/jvm/jdk1.8.0_45/db/bin:/usr/lib/jvm/jdk1.8.0_45/jre/bin"
J2SDKDIR="/usr/lib/jvm/jdk1.8.0_45"
J2REDIR="/usr/lib/jvm/jdk1.8.0_45/jre"
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_45"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_45/db"

相关内容