javac: comando non trovato


111

Ho installato java nella mia macchina CentOS versione 5.5 utilizzando il comando yum install java. Ma non sono in grado di compilare una classe utilizzando javac.

Devo installare qualche altro pacchetto?

Ho provato a localizzare l' javaceseguibile ma non riesco a trovarlo.

/usr/bin/javaè collegato come segue:
/usr/bin/java-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

Ho visto il seguente output di 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
Sembra che la tua soluzione sia usare yumperinstall java-1.6.0-openjdk-devel.x86_64
Vihung

Risposte:


125

Hai installato solo Java Runtime Environment (JRE), che non contienejavac . Per javac, devi installare l' ambiente di sviluppo OpenJDK . Puoi installare java-develo java-1.6.0-openjdk-devel, che entrambi includono javac.

A proposito: puoi scoprire quale pacchetto fornisce javacuna yumricerca , ad es

su -c 'yum provides javac'

nelle versioni più recenti di CentOS, ad esempio 6, il comando cambia in

su -c 'yum provides */javac'

Un'altra nota: l'utilizzo di yumed openjdkè solo una delle possibilità per installare JDK. Molte persone preferiscono l'SDK "originale" di Sun / Oracle. Vedi Come installare Java SDK su CentOS? e link per alternative.


sì, sono sicuro. basta guardare le informazioni sul pacchetto java-1.6.0-openjdk.x86_64 (scorrere fino alla sezione "File") e vedere che non ce n'è javacin quel pacchetto. e poi guarda il pacchetto OpenJDK Development Environment .
ascia.

11
Grazie per il vostro aiuto .. Ho usato "yum install java-1.6.0-openjdk-devel.x86_64"
Bikash Barman

6
Su Fedora 20 yum provides javacesce "Nessuna corrispondenza trovata".
Perseidi

1
ma ha installato "openjdk", giusto? JDK significa kit di sviluppo java
rasoio

177

Ha funzionato per me con questo comando:

yum install java-devel

2
Ma questo installa l'obsoleto JDK 6. Perché non installa JDK 8? "yum install java" installa JRE 8.
jamshid

Puoi grep l'output di "yum list" per trovare la versione di java che desideri, quindi eseguire "yum install <package>". Per me, era "yum install java-1.7.0-openjdk-devel.x86_64"
Tom Barron

12
Per java8 utilizzaresudo yum install java-1.8.0-openjdk-devel
raghavsood33

1
questa dovrebbe essere la risposta.
Nikk

Altre installazioni java dint forniscono javac sprecato 2 ore fino a quando non sono incappato in questo
vivek ashodha

28

Usa il seguente comando sudo:

sudo yum install java-1.6.0-openjdk-devel

2

Non so esattamente cosa yum install javainstallerà effettivamente. Ma per verificare l'esistenza di javac fai:

> updatedb
> locate javac

preferibilmente come radice. Se non è presente, probabilmente hai installato solo Java runtime (JRE) e non Java Development Kit (JDK). È meglio ottenerlo dal sito Oracle : poiché i repository Linux potrebbero essere leggermente indietro con le ultime versioni e inoltre sembrano fornire solo open-jdk invece di Oracle / Sun, che preferirei data la scelta .


1

L'eseguibile javac è in una directory che fa parte del tuo PERCORSO?

Non conosco l'equivalente CentOS del percorso di Windows ma se esegui il cd nella directory java sdk ed esegui ./javac succede qualcosa?


Il mio problema è dove l'eseguibile javac sarà presente per impostazione predefinita
Bikash Barman

centos non ha il comando di localizzazione? come suggerito da
@Richard

Mi dispiace, BenCr, ho corretto un errore di battitura (javajc => javac) ma il sistema permette di correggere solo almeno 6 caratteri, quindi ho cambiato qualcosa in più. Su sistemi di tipo Unix (CentOS è una specie di Unix?) È necessario specificare ./ per avviare qualcosa nella directory corrente. Sentiti libero di modificare nuovamente, se le mie modifiche vengono approvate.
utente sconosciuto

hai accettato la risposta sbagliata? in tal caso, passare a quello giusto per non confondere i lettori.
ascia.

0

Hai installato Java Runtime Environment (JRE) ma non contiene javac.

Quindi sul terminale accedi all'utente root sudo -ie inserisci la password. Digita yum install java-devel, quindi installerà i pacchetti di javac in fedora.


0

Installa la stessa versione del javactuoJRE

yum install java-devel

0

Uso Fedora (attualmente 31)

Anche con JDK installato, devo ancora specificare JAVAC_HOME in .bashrc, soprattutto perché ho 4 versioni di Java che utilizzano alternative sudo --configure java per passare da una all'altra.

Per trovare la posizione java di java selezionata in alternative

readlink -f $ (quale java)

Nel mio caso: /usr/java/jdk1.8.0_241-amd64/jre/bin/java

Quindi ho impostato quanto segue in .bashrc su:

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

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

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

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

Ora javac –version fornisce: javac 1.8.0_241

Questo è utile per coloro che vogliono utilizzare la versione di Oracle. Ricorda solo di cambiare di nuovo il tuo .bashrc se apporti una modifica con alternative java.


0

Linux Mint 19.3

Ho installato Java Oracle manualmente, in questo modo:

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


-2

Assicurati di installare prima JDK / JRE.

Segui questi passi:

apri il terminale vai al dizionario di root digitando

cd /

vedrai la cartella Libreria

Ora segui questo percorso Library/Java/JVM/bin

Una volta entrato bin, puoi vedere il javacfile

Ora devi ottenere il percorso di questa cartella per questo basta scrivere questo comando

pwd

ottieni il percorso per il tuo javac.


1
Il sistema operativo che l'OP chiama è CentOS.
Newb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.