javac: komut bulunamadı


111

CentOS sürüm 5.5 makineme komutu kullanarak java yükledim yum install java. Ama javac kullanarak bir sınıfı derleyemiyorum.

Başka bir paket yüklemem gerekiyor mu?

javacYürütülebilir dosyayı bulmaya çalıştım ama bulamıyorum.

/usr/bin/javaaşağıdaki gibi bağlantılıdır:
/usr/bin/java-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

Aşağıdaki çıktıyı şu şekilde gördüm 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

3
Çözümünüz kullanmaktır gibi görünüyor yumiçininstall java-1.6.0-openjdk-devel.x86_64
Vihung

Yanıtlar:


125

Yalnızca içermeyenjavac Java Runtime Environment'ı (JRE) yüklediniz . İçin OpenJDK Geliştirme Ortamınıjavac kurmanız gerekmektedir . Her ikisini de içeren veya yükleyebilirsiniz .java-develjava-1.6.0-openjdk-develjavac

Bu arada: sağlayan paket öğrenebilirsiniz javacbir ile yumarama , örneğin

su -c 'yum provides javac'

CentOS'un daha yeni sürümlerinde, örneğin 6 komut şu şekilde değişir:

su -c 'yum provides */javac'

Başka bir not: yumve kullanmak openjdk, JDK'yı yüklemek için yalnızca bir olasılıktır. Birçok kişi Sun / Oracle'ın "orijinal" SDK'sını tercih ediyor. Bkz CentOS Java SDK nasıl yüklenir? ve alternatifler için bağlantılar.


Evet eminim. sadece java-1.6.0-openjdk.x86_64 paket bilgilerine bakın ("Dosyalar" bölümüne gidin) ve javacbu pakette hiç olmadığına bakın . ve ardından OpenJDK Geliştirme Ortamı paketine bakın .
balta.

11
Yardımınız için teşekkürler .. "yum install java-1.6.0-openjdk-devel.x86_64" kullandım
Bikash Barmen

6
Fedora 20'de yum provides javac"Eşleşme bulunamadı" çıktıları.
Perseids

1
ama 'openjdk' kurdu, değil mi? JDK, java geliştirme kiti anlamına gelir
jilet

177

Bu komutla benim için çalıştı:

yum install java-devel

2
Ancak bu, eski JDK 6'yı yükler. Neden JDK 8'i yüklemiyor? "yum install java" JRE 8'i
yüklüyor

İstediğiniz java sürümünü bulmak için "yum list" çıktısını grep sonra "yum install <package>" yapın. Benim için "yum install java-1.7.0-openjdk-devel.x86_64" idi
Tom Barron

12
Java8 kullanımı içinsudo yum install java-1.8.0-openjdk-devel
raghavsood33

1
cevap bu olmalı.
nikk

Diğer java kurulumları dint, bu konuda tökezleyene kadar
javac'ın

28

Aşağıdaki sudo komutunu kullanın:

sudo yum install java-1.6.0-openjdk-devel

2

yum install javaAslında tam olarak ne yükleyeceğini bilmiyorum . Ancak javac varlığını kontrol etmek için şunları yapın:

> updatedb
> locate javac

tercihen kök olarak. Orada değilse, Java Geliştirme Kiti'ni (JDK) değil, muhtemelen yalnızca Java çalışma zamanını (JRE) yüklediniz. Bunu Oracle sitesinden almanızın en iyisi : Linux depoları en son sürümlerin biraz gerisinde olabileceğinden ve ayrıca Oracle / Sun'ın aksine yalnızca open-jdk'yi sağlıyor gibi görünüyorlar, ki bu seçenek size verilmişse bunu tercih ederim .


1

Javac, PATH'inizin parçası olan bir dizinde yürütülebilir mi?

Windows yolunun CentOS eşdeğerini bilmiyorum ama java sdk dizinine cd yazıp ./javac'ı çalıştırırsanız bir şey olur mu?


Benim sorunum javac çalıştırılabilir dosyasının varsayılan olarak nerede olacağı
Bikash Barman

centos'ta locate komutu yok mu? @Richard tarafından önerildiği gibi
BenCr

Üzgünüm BenCr, bir yazım hatasını düzelttim (javajc => javac) ancak sistem yalnızca en az 6 karakteri düzeltmeye izin veriyor, bu yüzden daha fazlasını değiştirdim. Unix tipi sistemlerde (CentOS bir tür Unix midir?) Mevcut dizinde bir şey başlatmak için ./ belirtmeniz gerekir. Düzenlemelerim onaylanırsa yeniden düzenlemekten çekinmeyin.
kullanıcı bilinmiyor

yanlış cevabı kabul ettin mi öyleyse, okuyucuların kafasını karıştırmamak için lütfen doğru olanı değiştirin.
balta.

0

Java Runtime Environment'ı (JRE) yüklediniz ancak javac içermiyor.

Yani terminalde root kullanıcısına erişin sudo -ive şifreyi girin. Yazın yum install java-devel, bu nedenle fedora'da javac paketlerini kuracaktır.


0

Aynı sürümünü yükleyin javacolarak sizinJRE

yum install java-devel

0

Fedora kullanıyorum (şu anda 31)

JDK kurulu olsa bile .bashrc'de JAVAC_HOME'u belirtmem gerekiyor, özellikle de aralarında geçiş yapmak için sudo alternatifleri --configure java kullanan 4 Java sürümüm olduğu için.

Alternatiflerde seçilen java'nın java konumunu bulmak için

readlink -f $ (hangi java)

Benim durumumda: /usr/java/jdk1.8.0_241-amd64/jre/bin/java

Bu yüzden .bashrc'de aşağıdakileri ayarladım:

dışa aktar JAVA_HOME = / usr / java / jdk1.8.0_241-amd64 / jre / bin / java

dışa aktar JAVAC_HOME = / usr / java / jdk1.8.0_241-amd64 / bin / javac

dışa aktarma PATH = $ PATH: /usr/java/jdk1.8.0_241-amd64/jre/bin

dışa aktarma PATH = $ PATH: /usr/java/jdk1.8.0_241-amd64/bin/

Şimdi javac –version şunu verir: javac 1.8.0_241

Bu, Oracle'ın sürümünü kullanmak isteyenler için kullanışlıdır. Java alternatifleriyle bir değişiklik yaparsanız .bashrc dosyanızı yeniden değiştirmeyi unutmayın.


0

Linux Mint 19.3

Java Oracle'ı şu şekilde manuel olarak yükledim:

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


-2

Önce JDK / JRE'yi kurduğunuzdan emin olun.

bu adımları takip et:

terminali açın yazarak kök sözlüğünüze gidin

cd /

Kitaplık klasörünü göreceksiniz

Şimdi bu yolu takip et Library/Java/JVM/bin

İçeri girdikten sonra dosyayı bingörebilirsinjavac

Şimdi bu klasörün yolunu almanız gerekiyor, bunun için sadece bu komutu yazın

pwd

yolunu bul javac.


1
OP'nin adlandırdığı işletim sistemi CentOS'tur.
Newb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.