javac: perintah tidak ditemukan

111

Saya telah menginstal java di mesin CentOS rilis 5.5 saya menggunakan perintah yum install java. Tetapi saya tidak dapat mengkompilasi kelas menggunakan javac.

Apakah saya perlu menginstal paket lain?

Saya telah mencoba menemukan javacfile yang dapat dieksekusi tetapi saya tidak dapat menemukannya.

/usr/bin/javaditautkan sebagai berikut:
/usr/bin/java-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

Saya telah melihat keluaran berikut oleh yum list installed |grep java:

java-1.6.0-openjdk.x86_64              1:1.6.0.0-1.16.b17.el5          installed
tzdata-java.x86_64                     2011b-1.el5                     installed
Bikash Barman
sumber
3
Sepertinya solusi Anda adalah dengan menggunakan yumuntukinstall java-1.6.0-openjdk-devel.x86_64
Vihung

Jawaban:

125

Anda menginstal Java Runtime Environment (JRE) saja, yang tidak berisijavac file . Sebab javac, Anda harus menginstal OpenJDK Development Environment . Anda dapat menginstal java-develatau java-1.6.0-openjdk-devel, yang keduanya termasuk javac.

By the way: Anda dapat mengetahui paket menyediakan javacdengan yumpencarian , misalnya

su -c 'yum provides javac'

pada rilis terbaru CentOS misalnya 6 perintah berubah menjadi

su -c 'yum provides */javac'

Catatan lain: menggunakan yumdan openjdkhanya satu kemungkinan untuk menginstal JDK. Banyak orang lebih suka SDK "asli" Sun / Oracle. Lihat Bagaimana cara menginstal Java SDK di CentOS? dan tautan untuk alternatif.

kapak.
sumber
ya saya yakin. lihat saja informasi paket java-1.6.0-openjdk.x86_64 (gulir ke bagian "File") dan lihat bahwa tidak ada javacpaket tersebut. dan kemudian lihat paket OpenJDK Development Environment .
kapak.
11
Terima kasih atas bantuan Anda .. Saya telah menggunakan "yum install java-1.6.0-openjdk-devel.x86_64"
Bikash Barman
6
Pada Fedora 20 yum provides javacoutput "Tidak ada yang cocok".
Perseids
1
tapi dia memasang 'openjdk', kan? JDK berarti java development kit
pisau cukur
177

Bekerja untuk saya dengan perintah ini:

yum install java-devel
Justin Geeslin
sumber
2
Tapi itu menginstal JDK yang sudah usang 6. Mengapa tidak menginstal JDK 8? "yum install java" tidak menginstal JRE 8.
jamshid
Anda dapat menggrep output dari "yum list" untuk mencari versi java yang Anda inginkan, lalu melakukan "yum install <package>". Bagi saya, itu adalah "yum install java-1.7.0-openjdk-devel.x86_64"
Tom Barron
12
Untuk penggunaan java8sudo yum install java-1.8.0-openjdk-devel
raghavsood33
1
inilah jawabannya.
nikk
Instalasi
28

Gunakan perintah sudo berikut:

sudo yum install java-1.6.0-openjdk-devel
nandal
sumber
2

Saya tidak tahu persis apa yang yum install javaakan diinstal. Namun untuk mengecek keberadaan javac lakukan:

> updatedb
> locate javac

sebaiknya sebagai root. Jika tidak ada, Anda mungkin hanya menginstal Java runtime (JRE) dan bukan Java Development Kit (JDK). Anda sebaiknya mendapatkan ini dari situs Oracle : karena repo Linux mungkin sedikit tertinggal dengan versi terbaru dan juga mereka tampaknya hanya menyediakan open-jdk sebagai lawan dari Oracle / Sun, yang saya lebih suka diberi pilihan .

Richard H.
sumber
1

Apakah javac dapat dieksekusi dalam direktori yang merupakan bagian dari PATH Anda?

Saya tidak tahu CentOS yang setara dengan jalur Windows tetapi jika Anda cd ke direktori java sdk dan menjalankan ./javac apakah terjadi sesuatu?

BenCr
sumber
Masalah saya adalah di mana javac yang dapat dieksekusi akan hadir secara default
Bikash Barman
bukankah centos memiliki perintah cari? seperti yang disarankan oleh @Richard
BenCr
Maaf, BenCr, saya mengoreksi kesalahan ketik (javajc => javac) tetapi sistem hanya memungkinkan untuk mengoreksi setidaknya 6 karakter, jadi saya mengubah sesuatu yang lain. Pada sistem tipe Unix (apakah CentOS semacam Unix?) Anda harus menentukan ./ untuk memulai sesuatu di direktori saat ini. Jangan ragu untuk mengedit ulang, jika hasil edit saya disetujui.
pengguna tidak diketahui
apakah kamu menerima jawaban yang salah? jika iya, silahkan ganti ke kanan agar tidak membingungkan pembaca.
kapak.
0

Anda telah menginstal Java Runtime Environment (JRE) tetapi tidak berisi javac.

Jadi di terminal dapatkan akses ke pengguna root sudo -idan masukkan kata sandi. Ketik yum install java-devel, maka itu akan menginstal paket javac di fedora.

Mohnish
sumber
0

Instal versi yang sama javacdengan AndaJRE

yum install java-devel
Pravin
sumber
0

Saya menggunakan Fedora (saat ini 31)

Bahkan dengan JDK terinstal, saya masih perlu menentukan JAVAC_HOME di .bashrc, terutama karena saya memiliki 4 versi Java menggunakan alternatif sudo - konfigurasi java untuk beralih di antara mereka.

Untuk mencari lokasi java di java dipilih sebagai alternatif

readlink -f $ (yang java)

Dalam kasus saya: /usr/java/jdk1.8.0_241-amd64/jre/bin/java

Jadi saya menetapkan berikut di .bashrc ke:

ekspor JAVA_HOME = / usr / java / jdk1.8.0_241-amd64 / jre / bin / java

ekspor JAVAC_HOME = / usr / java / jdk1.8.0_241-amd64 / bin / javac

ekspor PATH = $ PATH: /usr/java/jdk1.8.0_241-amd64/jre/bin

ekspor PATH = $ PATH: /usr/java/jdk1.8.0_241-amd64/bin/

Sekarang javac –version memberikan: javac 1.8.0_241

Ini berguna bagi mereka yang ingin menggunakan versi Oracle. Ingatlah untuk mengubah .bashrc Anda lagi jika Anda membuat perubahan dengan alternatif java.

wayneeusa
sumber
0

Linux Mint 19.3.0

Saya menginstal Java Oracle secara manual, seperti ini:

$ sudo ln -s /usr/lib/jvm/java-1.8.0_211/bin/javac /usr/bin/javac
jkolive
sumber
0

Ini berhasil untuk saya: sudo dnf install java-<version>-devel

Gabriel Deml
sumber
-2

Pastikan Anda menginstal JDK / JRE terlebih dahulu.

ikuti langkah ini:

buka terminal, buka kamus root Anda dengan mengetik

cd /

Anda akan melihat folder Library

Sekarang ikuti jalan ini Library/Java/JVM/bin

Setelah Anda masuk, binAnda dapat melihat javacfile tersebut

Sekarang Anda perlu mendapatkan jalur folder ini untuk itu cukup tulis perintah ini

pwd

dapatkan jalan untuk Anda javac.

nimish parikh
sumber
1
Sistem operasi dengan nama OP adalah CentOS.
Newb