[英]javac does not work in ubuntu terminal
当我尝试使用javac
编译 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 <selected package
当我尝试 java -version 时,它说,
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
当我尝试使用哪个 java 时,我得到了/usr/bin/java
如何从命令行编译我的 java 程序?
正如@Blorgbeard 所提到的,您很可能没有安装 Java JDK(Java 开发工具包)。 有关可用于 Ubuntu 的各种 Java 版本的更多信息,请参阅此网页。
以下命令将安装 Java JDK 的 OpenJDK 版本:
apt-get install default-jdk
我有 Ubuntu 12.10,使用 java“1.6.0_27”,此命令使 javac 可用:
sudo apt-get install default-jdk
然后像这样编译它:
el@apollo:~/retreat3$ javac HelloWorld.java
el@apollo:~/retreat3$ java HelloWorld
Hello, World!
就我而言,我安装了 JDK,但我手动安装了它,所以它没有添加到路径中。 一旦我将这些行添加到我的 .zshrc 文件中(我使用的是 zsh;如果您使用的是 bash,请将它们添加到 .bash_profile)并重新启动终端,它就起作用了:
# Java environment variables
export JAVA_HOME='/opt/jdk/jdk1.8.0_241' #change accordingly; this needs to match your JDK's location!
export PATH=$PATH:$JAVA_HOME/bin
我遇到了同样的问题。 我使用了以下命令
sudo apt-get install openjdk-7-jdk
之后编译的应用程序。 不确定与上述解决方案有何不同。 也许我不必指定一个版本。
实际上,java 命令在我的 ubuntu 16.04 上工作,但不是 javac。 起初,我摆弄环境路径,因为我认为我已经安装了所有 java 包,问题在于设置环境路径变量。
然后我尝试了命令update-alternatives --list java
,它返回了一个路径,但update-alternatives --list javac
没有。 这向我解释了需要安装 javac 所以我运行了sudo apt-get install default-jdk
但是,如果您获得了运行update-alternatives --list javac
的路径,那么我建议您应该尝试设置 $JAVA_PATH 或创建符号链接。 可以在无法在 Ubuntu 上运行 javac的页面上找到帮助。
只需复制并粘贴到您的终端上
sudo apt 安装 openjdk-8-jdk-headless
有同样的问题。 通过使用 Yum 安装 OpenJDK 8 修复:
sudo yum install java-1.8.0-openjdk-devel
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.