我有一个可以在 Eclipse 中编译的 Java 计算机程序。我想从命令行编译它并获取消息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 的编译方式。我错过了什么傻事吗?谢谢。
Ubuntu 上的默认 Java运行时环境 (JRE) 是 OpenJDK(而不是 Oracle/Sun)。与名称 OpenJDK 不同,它分为两部分:JRE (
default-jre
) 和 JDK (default-jdk
)。要同时安装 JDK(提供
javac
),请安装元数据包default-jdk,您应该已准备就绪。如果您安装了多个 Java 运行时或 Java 编译器,请选择正确的一个
update-alternatives
:看起来你正在使用的 openjdk 不是`ta jdk(除了名称)。它只是一个 jvm(它可以运行 java 程序但不能编译它们)。
我的解决方案是从 oracle 站点下载 jdk:http ://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
(此链接适用于 jdk7,如果您需要其他版本,只需在站点中查找 jdk)。
看起来我的默认安装附带了一些奇怪的 Java 版本——不是 OpenJDK,而是另一个版本。我进行了 aptitude install 以获取 openjdk-7,然后一切正常。
我很困惑,因为 Eclipse 在系统上没有 javac 编译,但我猜 Eclipse 内部有一些工具可以编译。