Para desenvolvimento normal, estou usando a VM de 64 bits que vem quando instalo o Java development kit (OpenJDK) com o gerenciador de pacotes.
Mas existem alguns aplicativos Java (contendo bibliotecas nativas, suponho) que não funcionam em uma Java VM de 64 bits. (Parece que o SoapUI é um candidato - nas versões 4.0.1 e 4.5 beta 1, ele falha com uma falha de segmentação se executado em uma VM de 64 bits.)
Tentei instalar a versão i386 do openjdk-6-jre, além da de 64 bits, mas isso foi recusado pelo aptitude (dizendo que entra em conflito com a versão de 64 bits existente). O mesmo acontece se eu tentar instalar o openjdk-jre-7 na versão de 32 bits.
Uma resposta para Posso executar um aplicativo Java de 32 bits em um sistema de 64 bits proposto para instalação ia32-sun-java6-bin
, mas não há pacote com esse nome (ou qualquer coisa com ia32
e Java).
O que eu poderia fazer aqui para executar o SoapUI sem mudar minha instalação Java do sistema inteiro para 32 bits?
Respostas:
É super fácil ter várias versões do Java instaladas. Um pouco mais difícil (leia-se: tedioso) é alternar entre versões por um capricho.
tldr
apt-get uma versão
Decida qual versão você usará principalmente. Ou decida qual você deseja ter atualizações automáticas. Ou jogue uma moeda, qualquer que seja. Você nem precisa usar
apt-get
; apenas mantenha manualmente os dois pacotes no seu sistema (veja o próximo cabeçalho).O ponto é: é mais fácil usar o gerenciador de pacotes do Ubuntu para manter exatamente uma versão de um pacote como java. Você vai cuidar do resto.
desatar o outro
Faça o download de um tarball jdk. Extraia para
/opt
.alternar entre eles
Deixei o gerenciador de pacotes lidar com minha instalação principal. Eu exporto alguns vars para o outro quando preciso. Eu trabalho muito na linha de comando, por isso é uma solução adequada para mim. Eu me preocupo com:
Além disso, faço o link simbólico
jdk/
->jdk1.6.0_3/
porque sou preguiçoso e não gosto de reconfigurar meu .bashrc e outros scripts a cada atualização incremental do jdk.Variáveis de ambiente importantes para você:
fonte
.deb
a outra arquitetura em vez do tarball?Instalação
Primeiro, baixe o JDK de 32 bits mais recente (não o JRE) da Sun. Na época, isso era jdk-6u7-linux-i586.bin para mim.
Instale o pacote java:
Agora use o java-package para criar um pacote .deb a partir do binário que você baixou. Você precisa enganá-lo para criar o pacote de 32 bits:
Isso deve gerar um pacote .deb. Por alguma razão, o nome do pacote possui o sufixo _amd64. Instale o pacote:
Use as alternativas de atualização para selecionar o novo JDK. Foi instalado em /usr/lib/j2sdk1.6-sun para mim.
Se você executar o java -version, deverá ver a versão correta:
Eclipse de 32 bits
Eu tive que reinstalar a versão de 32 bits do Eclipse (já que o SWT contém código nativo). Eu também tive que excluir meu diretório ~ / .eclipse ou o Eclipse não seria iniciado (isso requer a reinstalação de novas versões de qualquer plug-in). Por fim, inclua o novo JRE em Java-> JREs Instalados usando o local de instalação (/usr/lib/j2sdk1.6-sun) e selecione-o como padrão.
ref
fonte
Ou você pode instalar apenas ia32-libs
descompacte o x86 jre
http://javadl.sun.com/webapps/download/AutoDL?BundleId=63983
e adicione ao PATH, se quiser.
fonte
ia32-libs
não é o método recomendado no ubuntu-11.10 em diante. askubuntu.com/questions/107230/...