0

当我键入java -version以下内容时返回:

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu2)
OpenJDK Server VM (build 20.0-b12, mixed mode)

但是当我输入时,javac -version我收到以下消息:

The program 'javac' can be found in the following packages:
* openjdk-6-jdk
* ecj
* gcj-4.4-jdk
* gcj-4.6-jdk
* gcj-4.5-jdk
* openjdk-7-jdk
Try: sudo apt-get install <selected package>

为什么是这样 ?我需要做什么才能摆脱这个?

4

2 回答 2

3

您已经安装了包含执行java 程序的东西的 java 运行时环境 (jre),但没有安装包含构建此类应用程序的东西的 java 开发工具包 (jdk),例如编译器。因此,如消息告诉您的那样,安装其中一个软件包,例如

sudo apt-get install openjdk-7-jdk
于 2012-09-05T13:48:10.577 回答
1

java命令执行已编译为 .class 文件(Java 字节码)的程序,它只是运行时环境。

javac是Java编译器。它将 Java 源代码转换为 Java 字节码(.class 文件)。

这两个是独立的程序,因为典型用户只需要 runtime( java) 而不需要javac

您需要安装列出的软件包之一(最好是 openjdk-6-jdk。因为它将与您的 java 安装兼容)。

于 2012-09-05T13:49:59.860 回答