O Ubuntu parece favorecer muito o OpenJDK / JRE sobre o Sun JDK / JRE. Mesmo depois que eu instalei o Sun JRE, JDK e plugin e passei algum tempo retirando pacotes relacionados ao OpenJDK, o apt-get os instalou de volta com alguns pacotes como uma dependência. Esse comportamento pode ser corrigido em favor dos pacotes Sun Java? Gostaria de ter uma única pilha Java instalada (sim, é um pouco de TOC , mas gosto de limpar meus sistemas) e quero que seja Sun Java.
Atualização: como observa Marcos Roriz, o problema parece estar no default-jre (no qual os pacotes dependentes de Java costumam depender) apontando para o OpenJDK, então a questão parece ser sobre como hackear default-jre / default-jdk para apontar para Sun Java.
Respostas:
Instalando o Sun Java em versões mais antigas do Ubuntu (9.10 e abaixo)
Eu tive o mesmo problema uma vez cerca de três anos atrás, com o Ubuntu 8.04, eu acho. Houve um problema estranho ao usar o openjre e o problema foi resolvido usando a versão sun jre. Aqui estão as etapas no terminal que se aplicam às versões abaixo da 10.04, desde que a partir da 10.04 sun java foi descartada e substituída pelo openjre:
(Tudo relacionado ao Java Sun. Apenas para ter certeza)
Depois disso, se você removesse o openjdk, teria apenas o sun java. Se você não o removeu, você tem os dois. Para mudar de um para outro, faça o seguinte:
sudo update-java-alternatives -l
- Isso mostra a lista de mecanismos java que você pode usar.O nome da alternativa java é o da esquerda; portanto, por exemplo, openjdk seria assim:
E você configuraria o sistema para openjdk assim:
Se você deseja usar o Sun, faça o seguinte (após a instalação dos pacotes sun):
Se você deseja usar a versão java 7, simplesmente altere o número 6 mencionado acima para 7. Por exemplo, se eu quisesse instalar a versão 7 do openjre, faria:
Instalando o Sun Java em versões mais recentes do Ubuntu (10.04 uma acima)
Abra o terminal e digite o seguinte:
Isso deve instalar a versão Sun Java no seu sistema. Para mudar, basta fazer o seguinte, caso você tenha outras alternativas java:
Se você deseja que a instalação seja automática, digite o seguinte:
Depois disso, basta fazer o seguinte para definir as variáveis de ambiente padrão:
Observe que o PPA inclui as versões 6, 7 e 8. Para instalar qualquer um deles, basta alterar o número na linha de instalação, por exemplo:
Instalaria o Java 8. Depois de instalar a versão Java que você deseja usar e configurar a versão para o padrão com o
update-java-alternatives
comando, você pode verificar qual versão está usando, digitando o seguinte:Ele mostrará a versão padrão que você está usando naquele momento.
Gostaria de mencionar também que o OpenJRE / JDK percorreu um longo caminho de 2 ou 3 anos atrás, quando houve muitos problemas que foram resolvidos com a mudança para o Sun Java.
fonte
Eu acho que o problema é que alguns pacotes Java dependem do default-jre, que aponta para o openjdk-jre. Eu não acho que exista uma maneira fácil de desinstalar permanentemente o openjdk. O fato é que você provavelmente encontrará o openjdk novamente quando instalar um pacote / programa java.
Mas se você deseja ter os dois, é fácil definir os programas de tempo de execução java (java, javah, javap e assim por diante) para implementar o sun. Faça:
ou se você é um desenvolvedor Java (instale o sdk e srcs):
E defina-o como os programas padrão com:
fonte
default-jre
pacote para apontar para sun-java hoje à noite. Agora eu estou no trabalho.O
.jdk1.6.0_23.jinfo
arquivo deve ser uma lista dos programas fornecidos e seus caminhos. Há um cabeçalho descritivo seguido por uma linha em branco. Em seguida, uma lista dos programas em um formato de três campos: tipo de entrada (jre / jkd / plugin); nome do programa; e caminho. Você deve ter alguns arquivos jinfo que podem ser usados para ver como deve ser o conteúdo. Provavelmente, isso é usado pelo mecanismo de alternativas para determinar quais links criar. A cabeça do meu pacote Sun é.Se você deseja substituir os comandos Java padrão sem usar o mecanismo de alternativas, coloque seu caminho Java à frente de / usr / bin em seu caminho.
Ao fazer uma instalação manual, eu instalo o Java no
/opt
. para sua instalação eu teria instalado/opt/jdk1.6.0_23
. Então eu coloquei o caminho$JAVA_HOME/bin
no início da minhaPATH
variável.EDIT: Este é o arquivo Sun inteiro. Nota
.java-6-sun.jinfo
é um link simbólico para.java-6-sun-1.6.0.22.jinfo
.fonte
Exclua openjdk e icedtea:
adicione o seguinte a /etc/apt/sources.list
instale o Sun / Oracle JRE ou JDK:
fonte
Você checou?
Se você não precisar: Desinstale o openjdk e o gcj no synaptic ou com o apt-get.
Eu proibiria o java de alternativas na época, e fiz principalmente como BillThor sugeriu, por que eu dei a ele um voto positivo.
deve apontar para onde você instalou o java e onde é encontrado no PATH.
fonte
which
comandos e ele não imprime nada. Descobri que esqueci o símbolo $ antes da variável JAVA_HOME no PATH, vou reiniciar agora e ver como vai.which
comando ainda não mostra nada. As variáveis JAVA_HOME e PATH estão corretas: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games Onde poderia estar o problema? Edit: GOD DAMN IT, por que não há quebras de linha nos comentários?echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
mas no resultado $ JAVA_HOME deve ser avaliado - há algo errado ou seu relatório é incorreto. c) Quebras de linha: elas não estão lá, de modo que pressionamos ENTER muito cedo e depois o relógio bate, porque a edição é permitida apenas por alguns minutos - eu constantemente pego nessa armadilha. Eu odeio isso! :)echo $JAVA_HOME
...echo $PATH
impressão$JAVA_HOME...
ou ele imprimirá o valor de JAVA_HOME, ou seja:/usr/lib/jvm/jdk1.6.0_23
?java -version
no shell (ele exibirá apenas java Sun)sudo update-java-alternatives -l
e funciona apenas se você tiver dois jdk instalados e quiser definir o sun-java como um ambiente padrão
fonte
Usando o Ubuntu 10.10, parece que você precisa marcar para remover o libaccess-bridge-java primeiro no Synaptic e depois marcar openjdk-6-jre-headless.
Acabei com uma lista a ser removida:
Isso funcionou, mas deixou um diretório para
/etc/java-6-openjdk
trás com vários arquivos e subdiretórios, que eu isolado em um novo diretório. Não houve efeitos incomuns, portanto, presumivelmente, é apenas um restante remanescente.Isso me deixou com o Java que eu havia baixado diretamente do site do Java. No entanto, apesar de defini-lo como padrão e criar o link para o diretório de plugins do Firefox, ele não funcionou mais. Instalando sun-java6-jre e seus pacotes associados gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin e unixodbc, via Synaptic, viram o plugin Java começar a funcionar novamente. Remover o link no diretório plugins e substituí-lo pelo arquivo libnpjp2.so real não funcionou. O uso de um link para os arquivos libjavaplugin_oji.so nos diretórios ns7 ou ns7-gcc29 no Java instalado por meio do Synaptic também não funcionou. Isso sugere que, para obter o plug-in Java mais recente no Firefox, é possível seguir as instruções no site do Java e que é necessário o Java Linux integrado de qualquer variedade presente para executar o Java baixado, que, em seguida, depende de sua operação nos arquivos ao seu redor assim que o plug-in for ativado. Embora seja necessário um entendimento completo do código que compreende Java e Linux para realmente resolver seus mistérios, talvez esses experimentos sejam úteis para encontrar as razões pelas quais dois Java podem ser necessários neste caso. Pelo menos, é possível remover todo o Java também, se alguém achar útil fazê-lo.
fonte
O que faço nas novas máquinas Ubuntu 10.10 é
Então tudo bem para mim, não há mais dependências openJDK
fonte
As respostas dadas a esta pergunta não funcionaram para mim. Ou seja, o seguinte falhou:
Com o erro:
Tente estas instruções :
icedtea-6-jre-cacao
), se estiver instalado.O OpenJDK (IcedTea) está agora instalado, o que deve permitir que você (se você tiver esse erro) continue instalando o JDK do Oracle sem erros.
Veja também:
fonte
Primeiro: remova o plugin openjdk e icedtea.
Segundo: copie o arquivo .bin jdk para / opt ou / usr / java e extraia-o.
Terceiro: coloque um link do arquivo java em / usr / bin /
atualize as alternativas usando as alternativas de atualização
Crie um link simbólico para o Java Plugin no diretório de plugins do Firefox.
Crie um link simbólico para o arquivo libnpjp2.so do Java Plugin no diretório de plugins do Firefox:
Espero que isto ajude.
fonte