如何在Ubuntu中运行Java程序


13
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程序。

Answers:


12

打开终端并运行:

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。


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更新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"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.