Eu tenho o Ubuntu 12.04 amd64 instalado na minha máquina, nas versões anteriores do Ubuntu era muito fácil, agora existe esse comando update-java-alternatives
com uma página de manual muito ruim.
Eu só tenho o meu JDK descompactado em uma partição montada como /media/mydisk/jdk
, como posso forçar o uso desse JDK em vez daquele que vem no repositório Ubuntu?
Qual é a lógica por trás disso update-java-alternatives
?
java
jdk
alternative
jre
user827992
fonte
fonte
Respostas:
Como alternativa gráfica ao método de linha de comando do @ AnwarShah, considere usar o Gnome Alternatives (
sudo apt-get install galternatives
):Inicie GAlternatives , selecione cada opção java , altere-a para manual e adicione sua alternativa (o exemplo aqui é o IBM JRE instalado no meu diretório inicial):
fonte
Você pode fazer isso com
sudo update-alternatives
:Você também deve fazer isso para outros componentes do jdk. Estes componentes são
appletviewer
,extcheck
,idlj
,jar
,jarsigner
,java
,javac
,javadoc
,javah
,javap
,javaws
,jconsole
,jdb
,jexec
,jhat
,jinfo
,jmap
,jps
,jrunscript
,jsadebugd
,jstack
,jstat
,jstatd
,keytool
,mozilla-javaplugin.so
,native2ascii
,orbd
,pack200
,policytool
,rmic
,rmid
,rmiregistry
,schemagen
,serialver
,servertool
,tnameserv
,unpack200
,wsgen
,wsimport
,xjc
.Para mais informações, você pode ver as páginas man para
update-alternatives
:man update-alternatives
.O comando
update-java-alternatives
define alternativas para componentes java e parece ser usadoupdate-alternatives
para isso.EDIT: A resposta acima tem como alvo o Java 6.
jcmd
à lista do Java 6.jcmd
,jjs
ejdeps
à lista de Java 6.jcmd
,jjs
,jdeps
ejshell
à lista de Java 6.fonte
Na verdade, eu uso esses comandos para instalar
jdk1.6.0_25
. (Verifique o link abaixo para obter o script completo atualizado de alternativas de atualização)E então você pode usar esses comandos para definir como padrão. Muito provavelmente, estes não são necessários.
Você pode obter mais ajuda usando o comando
man update-alternatives
ou pode ver o manual em seu navegador aquiO objetivo do
update-java-alternatives
descrito na página de manual éTodas as ferramentas do jdk são
Espero que isso ajude você.
Atualizar
Eu uso esse script para extrair um jdk baixado e
update-alternatives
para configurá-lo completamente. Modifique o nome do arquivo jdk eJAVA_DIR
atenda às suas necessidades.JAVA_DIR
é o caminho para sua pasta jdk extraída .fonte
Você também pode usar este script bash:
fonte
Muito complexa a maioria das respostas para mim.
Inicialmente, a Oracle decidiu poder instalar várias versões do Java, com base na configuração de algumas variáveis de ambiente.
Era fácil, mas muito complexo para quem não conhecia essas variáveis, e alguém inventou "update-java-alternative".
"update-java-alternative" provou ser simples, quando tudo está configurado para você, você simplesmente precisa executar este programa e escolher a versão que deseja.
O problema é que esta solução é muito complexa para configurar, se você precisar se configurar (você deve configurá-la para todo e qualquer comando do java).
A melhor resposta é voltar ao básico .
defina no
.bash_profile
(para seu usuário) ou/etc/profile
(para todo usuário) as seguintes variáveis:No meu caso, isso foi ainda mais fácil ... Eu já tinha um arquivo
/etc/profile.d
com o seguinte conteúdo (apenas o atualizei para a nova estrutura de diretórios):E isso é tudo!!!
fonte
Não é tão complicado quanto as outras respostas fazem parecer. Você deve adicionar o java instalado manualmente à lista de alternativas e mudar para is: (substitua jdk1.7.0_79 pela sua versão)
fonte
update-java-alternative é realmente muito bom. Portanto, para que ele funcione com minha instalação manual: copie o jdk1.8.0_45 para / usr / lib / jvm
Então eu usei o vim para uma pesquisa / substituição:
Também diminua a prioridade em 1
: sigh: update-java-alternative não faz a instalação. Mas pelo menos temos um arquivo para trabalhar
Então eu selecionei minha nova instalação:
fonte
Coloquei o que @ air-dex e @Anwar disseram em um script. Eu sei que o @ test30 também escreveu um script, mas era muito complicado para mim (um iniciante em scripts) entender. Eu apenas pensei em publicá-lo aqui, caso alguém possa achar útil.
fonte
Para configurar uma alternativa completa ao jdk, é possível usar o comando abaixo:
Usei isso depois de extrair o arquivo tar.gz do sun jdk1.7 para / usr / lib / jvm /
Você deseja substituir jdk1.7.0 pelo nome do diretório da versão que possui e o número 2 para o número que desejar que a alternativa seja.
fonte
Estou usando algo como o seguinte para baixar e instalar o Java 8 mais recente:
fonte
# Eu escrevi um script simples
fonte
Criou outro script ligeiramente diferente para padronizar todas as coisas relacionadas a java para um JDK instalado manualmente:
Isso instala as novas alternativas e define essas novas alternativas como padrão.
fonte
Eu limpei tudo sobre o JAVA 9 e instalei o novo Java 10 manualmente.
Nota : Você
update-alternatives
só precisa se tiver várias versões java.Nota : Você pode limpar tudo sobre Java antes de instalar o novo Java novamente.
Para instalação nova do Java 10
Extraia e coloque em algum lugar no
/opt/java
diretório Colocar o JDK noopt/java
diretório faz com que seja utilizável para todos os usuários( Nota : eu baixei o JDK, JRE e o servidor JRE, extraí o JDK e renomeei a pasta extraída para jdk10, extraí o JRE e renomeei a pasta extraída para jre10 e extraí o servidor JRE e renomeei a pasta extraída para jre10server, conforme mostrado no instantâneo abaixo )
Atualize seu arquivo / etc / environment como abaixo
Agora, você precisa recarregar o
/etc/environment
arquivo de script no sistema usando o comando source, conforme abaixo.Se você quiser saber mais sobre as alternativas de atualização , aqui está o link: Como faço para tornar o java padrão para um JRE / JDK instalado manualmente?
fonte
Alguns links relacionados ao java estão no nível principal e não podem ser usados como escravo no update-alternative --install. Use os seguintes comandos para instalar o oracle jdk e atualizar alternativas. Espero que ajude.
PS: deve ser executado como root / sudo.
fonte