javac在ubuntu终端中不起作用

Pra*_*nna 18 java ubuntu javac

当我尝试编译java程序时javac,我收到一个错误:

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
Run Code Online (Sandbox Code Playgroud)

当我尝试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)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用哪种java时 /usr/bin/java

如何从命令行编译我的java程序?

Hea*_*ohn 31

正如@Blorgbeard所提到的,您很可能没有安装Java JDK(Java Development Kit).有关可用于Ubuntu的各种Java版本的更多信息,请参阅此网页.

以下命令将安装Java JDK的OpenJDK版本:

apt-get install default-jdk
Run Code Online (Sandbox Code Playgroud)


小智 9

我有 Ubuntu 12.10,使用 java“1.6.0_27”,此命令使 javac 可用:

sudo apt-get install default-jdk
Run Code Online (Sandbox Code Playgroud)

然后像这样编译它:

el@apollo:~/retreat3$ javac HelloWorld.java
el@apollo:~/retreat3$ java HelloWorld
Hello, World!
Run Code Online (Sandbox Code Playgroud)


rot*_*ial 5

就我而言,我安装了 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
Run Code Online (Sandbox Code Playgroud)