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
然后我运行sudo apt-get install openjdk-7-jdk
,一切正常。但javac
仍然不存在,我得到了与上面相同的错误。也是一样openjdk-6-jdk
。为什么?
答案1
javac
指向的正确 Debian/Ubuntu 配置方法/usr/bin/javac
是使用update-alternatives
命令。您可以以交互方式执行此操作,并从可用选项列表中进行选择:
sudo update-alternatives --config javac
或者您可以在命令行上指定您想要的选项:
sudo update-alternatives --set javac /usr/lib/jvm/java-7-openjdk/bin/javac
由于其存储信息的方式,使用update-alternatives
并不完全等同于(但被认为是更可取的)手动创建指向您选择的/usr/bin/java
符号链接。请参阅javac
man update-alternatives
了解更多信息。
如果update-alternatives
不起作用,请运行此命令并重试:
sudo ln -s /etc/alternatives/javac /usr/bin/javac
答案2
这是我做的。它有效。
首先我安装了 Java 7 的 jdk,如下所示:
sudo apt-get install openjdk-7-jdk
这可能就足够了:通过运行检查 javac 是否在你的 PATH 中javac -version
如果没有,那么请按照尼古拉斯的回答进行操作,但不要sudo update-alternatives --config javac
使用这个:
sudo update-alternatives --config java
并在提示符下输入以下内容选择 Java 7 2
:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
* 2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number:
答案3
只要安装完成且没有错误,是系统上有一个 javac 可执行文件;由于某种原因,它没有正确链接到 /usr/bin。sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac
将创建该链接并解决您的问题。
答案4
不确定这是否有用,但对我来说很管用。我遇到了这个问题,javac根本就不存在,可能是因为我只安装了杰瑞. 安装开发环境之后杰瑞修复。
sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
然后按照提示设置配置:
sudo update-alternatives --config java
sudo update-alternatives --config javac
然后你可以使用以下命令检查配置是否正确:
java -version
javac -version