Eclipse 和 java 7 但没有 javac?

Eclipse 和 java 7 但没有 javac?

我有一个 Java 计算机程序,可以在 Eclipse 中顺利编译。我想从命令行编译它并收到消息javac not found。我认为我只是没有正确设置路径,但后来我做了一个locate javac,我只得到:

/usr/share/bash-completion/completions/javac
/usr/share/vim/vim74/compiler/javac.vim
/usr/share/vim/vim74/syntax/javacc.vim

并且它不存在

/usr/lib/jvm/java-7-openjdk-amd64/bin/

在 Eclipse 中,它似乎正在使用此 JDK,因此我不确定如何解释 Eclipse 的编译方式。我是不是遗漏了什么愚蠢的东西?谢谢。

答案1

默认 Java运行Ubuntu 上的 JRE 是 OpenJDK(而不是 Oracle/Sun)。与 OpenJDK 这个名称不同,它由两部分组成:JRE(default-jre)和 JDK(default-jdk)。

要安装 JDK(提供javac),请安装元包默认 jdk安装 default-jdk一切就绪。

如果您安装了多个 Java 运行时或 Java 编译器,请使用以下命令选择正确的一个update-alternatives

sudo update-alternatives --config java   # runtime
sudo update-alternatives --config javaws # runtime Web Start (applets)
sudo update-alternatives --config javac  # compiler

答案2

看起来您使用的 openjdk 不是一个 jdk(除了名称之外)。它只是一个 jvm(它可以运行 java 程序但不能编译它们)。

我的解决方案是从 oracle 网站下载 jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

(此链接适用于 jdk7,如果您需要其他版本,只需在网站中查找 jdk 即可)。

答案3

看起来我的默认安装附带了一些奇怪的 Java 版本 - 不是 OpenJDK,而是另一个版本。我执行了 aptitude 安装以获取 openjdk-7,然后一切正常。

我很困惑,因为 Eclipse 在没有系统上的 javac 的情况下进行编译,但我猜 Eclipse 里面有一些工具可以让它进行编译。

相关内容