I would like to believe that it is not installed if so why the system returned java: /usr/bin/java?
whereis
não resolve o symlink. Portanto, se / usr / bin / java ainda existir, mesmo que o destino do symlink seja quebrado, ele ainda retornará java: /usr/bin/java
. Eu recomendo que você use type -a java
para obter o resultado correto. Por favor, note que o symlink target OU não-symlink source file, ambos devem ser executáveis ( chmod +x
para configurá-lo), senão o comando type -a
retornará não encontrado mesmo que o arquivo exista ( type
ainda retornará independente do executável) .
Então, eu posso simplificar como abaixo:
whereis: Still return found even symlink broken or non-executable.
type: Return found even non-executable, and return not found if symlink broken.
type -a: Return not found when symlink is broken or non-executable.
Todos eles retornarão não encontrados se o arquivo de entrada não existir.
Então, o que posso aconselhar é instalar o JDK novamente, que "Oracle JDK" é preferível do que "OpenJDK" .
Um bom artigo pode ser encontrado aqui .
Isso é o que você pode fazer (suponha que seu sistema seja x64):
sudo rpm -ivh jdk-8u91-linux-x64.rpm
sudo rpm -ivh jdk-8u91-linux-x64-demos.rpm
O número de versão da versão 8u91 acima é mantido atualizado. Por isso, você deve sempre visitar Sites da Oracle para descobrir a versão mais recente. Clique no botão DOWNLOAD do JDK para acessar esta página que mostra o número da versão mais recente e seu nome de arquivo correto.
Você também pode baixar os documentos que o link real pode ser encontrado aqui page , e descompacte-o (Suponha que seu JDK tenha sido instalado em /usr/java/jdk1.8.0_91/
):
sudo unzip jdk-8u91-docs-all.zip -d /usr/java/jdk1.8.0_91/ #optional
Em seguida, use esses dois comandos para escolher o javac e o java corretos. Eu acredito que você só tem uma opção (Este exemplo mostra jdk1.8.0_74 devido ao meu não é o mais recente 8u91):
$ sudo alternatives --config javac
There are 2 programs which provide 'javac'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/bin/javac
2 /usr/java/jdk1.8.0_74/bin/javac
Enter to keep the current selection[+], or type selection number: 2
$
$ sudo alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/jre/bin/java
+ 2 /usr/java/jdk1.8.0_74/jre/bin/java
Enter to keep the current selection[+], or type selection number: 2
$