如何在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程序。

打开终端并运行:

 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。

如果您更喜欢安装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"