Linux: bash: javac: command not found

Автор: | 23/12/2014

java-logoПри попытке сборки класса:

$ javac -d bin src/HelloWorld.java
bash: javac: command not found

Хотя сама Java установлена:

$ which java
/usr/bin/java

Проверяем версию:

$ java -version
java version "1.7.0_71"
OpenJDK Runtime Environment (rhel-2.5.3.2.el6_6-x86_64 u71-b14)

OpenJDK Runtime Environment (JRE) не содержит компилятора, нужна Java Devlopment Kit (JDK).

Находим подходящие пакеты:

# yum provides */javac
...
1:java-1.7.0-openjdk-devel-1.7.0.71-2.5.3.2.el6_6.x86_64 : OpenJDK Development Environment
Repo : updates
Matched from:
Filename : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/bin/javac
...

Так как Java установлена 1.7 – то и JDK установим такую же:

# yum -y install java-1.7.0-openjdk-devel-1.7.0.71-2.5.3.2.el6_6.x86_64
...
Installed:
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.71-2.5.3.2.el6_6

Пробуем:

$ javac -d bin src/HelloWorld.java
$ ls -l bin/
total 8
...
-rw-r--r-- 1 setevoy setevoy 420 Dec 22 14:22 HelloWorld.class
...
$ java -classpath bin/ HelloWorld
Hello World