繁体   English   中英

javac 在 ubuntu 终端中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM