javac: comando não encontrado

111

Instalei o java na minha máquina CentOS versão 5.5 usando o comando yum install java. Mas não consigo compilar uma classe usando javac.

Eu preciso instalar algum outro pacote?

Tentei localizar o javacexecutável, mas não consigo localizá-lo.

/usr/bin/javaestá ligado da seguinte forma:
/usr/bin/java-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

Eu vi a seguinte saída por 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
fonte
3
Parece que sua solução é usar yumparainstall java-1.6.0-openjdk-devel.x86_64
Vihung

Respostas:

125

Você instalou apenas o Java Runtime Environment (JRE), que não contémjavac . Para isso javac, é necessário instalar o OpenJDK Development Environment . Você pode instalar java-develou java-1.6.0-openjdk-devel, que incluem javac.

A propósito: você pode descobrir qual pacote fornece javacuma yumpesquisa , por exemplo

su -c 'yum provides javac'

em versões mais recentes do CentOS, por exemplo 6, o comando muda para

su -c 'yum provides */javac'

Outra observação: usar yume openjdké apenas uma possibilidade de instalar o JDK. Muitas pessoas preferem o SDK "original" da Sun / Oracle. Veja Como instalar o Java SDK no CentOS? e links para alternativas.

machado.
fonte
sim eu tenho certeza. basta olhar as informações do pacote java-1.6.0-openjdk.x86_64 (vá até a seção "Arquivos") e veja se não há nenhum javacnesse pacote. e, em seguida, consulte o pacote OpenJDK Development Environment .
machado.
11
Obrigado por sua ajuda .. Eu usei "yum install java-1.6.0-openjdk-devel.x86_64"
Bikash Barman
6
Em yum provides javacsaídas Fedora 20 "Nenhuma correspondência encontrada".
Perseidas
1
mas ele instalou 'openjdk', certo? JDK significa kit de desenvolvimento java
razor
177

Funcionou para mim com este comando:

yum install java-devel
Justin Geeslin
fonte
2
Mas isso instala o JDK 6. obsoleto. Por que não instala o JDK 8? "yum install java" instala o JRE 8.
jamshid
Você pode executar grep na saída de "yum list" para encontrar a versão do java que deseja e, em seguida, fazer "yum install <package>". Para mim, foi "yum install java-1.7.0-openjdk-devel.x86_64"
Tom Barron
12
Para uso em java8sudo yum install java-1.8.0-openjdk-devel
raghavsood33
1
esta deve ser a resposta.
nikk
Outras instalações de java fornecem javac desperdiçou 2 horas até que me deparei com isso
vivek ashodha
28

Use o seguinte comando sudo:

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

Não sei exatamente o que yum install javavai realmente instalar. Mas para verificar a existência de javac, faça:

> updatedb
> locate javac

de preferência como raiz. Se não estiver lá, você provavelmente instalou apenas o Java runtime (JRE) e não o Java Development Kit (JDK). É melhor você conseguir isso no site da Oracle : como os repositórios do Linux podem estar um pouco atrás das versões mais recentes e também parecem fornecer apenas o jdk aberto ao invés do Oracle / Sun, que eu preferiria se tivesse a opção .

Richard H
fonte
1

O javac executável está em um diretório que faz parte do seu PATH?

Eu não sei o equivalente CentOS do caminho do Windows, mas se você cd para o diretório java sdk e executa ./javac, algo acontece?

BenCr
fonte
Meu problema é onde o executável javac estará presente por padrão
Bikash Barman
centos não tem o comando locate? como sugerido por @Richard
BenCr
Desculpe, BenCr, corrigi um erro de digitação (javajc => javac) mas o sistema só permite corrigir pelo menos 6 caracteres, então mudei mais alguma coisa. Em sistemas de tipo Unix (o CentOS é algum tipo de Unix?) Você deve especificar ./ ​​para iniciar algo no diretório atual. Sinta-se à vontade para reeditar, se minhas edições forem aprovadas.
usuário desconhecido
você aceitou a resposta errada? em caso afirmativo, mude para o correto para não confundir os leitores.
machado.
0

Você instalou o Java Runtime Environment (JRE), mas ele não contém javac.

Então, no terminal, acesse o usuário root sudo -ie digite a senha. Digite yum install java-devel, portanto, ele instalará pacotes do javac no fedora.

Mohnish
fonte
0

Instale a mesma versão do javacseuJRE

yum install java-devel
Pravin
fonte
0

Eu uso o Fedora (atualmente 31)

Mesmo com o JDK instalado, ainda preciso especificar JAVAC_HOME no .bashrc, especialmente porque tenho 4 versões de Java usando alternativas sudo - configure java para alternar entre eles.

Para encontrar a localização de java de java selecionado em alternativas

readlink -f $ (que java)

No meu caso: /usr/java/jdk1.8.0_241-amd64/jre/bin/java

Então, eu defini o seguinte em .bashrc para:

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

export 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/

Agora javac –version dá: javac 1.8.0_241

Isso é útil para quem deseja usar a versão Oracle. Apenas lembre-se de alterar seu .bashrc novamente se fizer uma alteração com alternativas java.

Wayneeusa
fonte
0

Linux Mint 19.3

Instalei o Java Oracle manualmente, assim:

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

Isso funcionou para mim: sudo dnf install java-<version>-devel

Gabriel Deml
fonte
-2

Certifique-se de instalar o JDK / JRE primeiro.

Siga esses passos:

abra o terminal vá para o seu dicionário raiz digitando

cd /

você verá a pasta Biblioteca

Agora siga este caminho Library/Java/JVM/bin

Depois de entrar, binvocê pode ver o javacarquivo

Agora você precisa obter o caminho desta pasta para isso basta escrever este comando

pwd

pegue o caminho para o seu javac.

parique nimish
fonte
1
O sistema operacional com os nomes de OP é CentOS.
Newb