Se você baixar o binário linux da Sun, poderá instalá-lo em qualquer diretório que desejar. Depois, basta referenciar essas bibliotecas no seu código, e você estará pronto.
Com o instalador binário, ele criará seu próprio subdiretório nomeado (por exemplo, em seu exemplo, /usr/java/jdk1.5.0_), para que você possa baixar quantos quiser e eles se alinharão com o nome apropriado subdiretórios.
O binário java principal mora em / usr / bin, portanto, se você quiser substituí-lo até o ponto em que quando digita "java", ele acessa seu java, e não aquele, basta mover o antigo para fora de / usr / bin e vincule seu novo. Digitar which javalhe dirá qual é o java padrão no seu sistema.
@ jldupont: Quando penso em instalações simultâneas, penso em várias versões instaladas na mesma máquina, que meu método absolutamente fornecerá. Tenho cerca de 12 versões do java instaladas na minha caixa de produção para lidar com transferências de empresas que ainda não foram atualizadas.
No entanto, quando você digita "java", obtém apenas uma versão do java, já que é isso que está em '/usr/bin' ... Você precisaria digitar algo como '/usr/java/jdk1.5.1/ bin / java 'para obter um binário java específico que não é o padrão do sistema.
Obrigado, mas preciso de instalações simultâneas . Como faço isso?
precisa saber é o seguinte
obrigado. Agora instalei o JDK5 em / opt e me escrevi um script bash para configurar as variáveis de ambiente ... parece que funciona. Eu pensei que seria mais doloroso do que isso!
precisa saber é o seguinte
@jldupont: Na verdade, essa é uma das coisas que eu mais amo no Linux ... Como não há registro para atrapalhar, você pode instalar a mesma coisa centenas de vezes, e isso não é um problema, desde que você tenha certeza de que para não sobrescrever arquivos comuns. Conheço muitas pessoas que executam (por exemplo) várias versões diferentes do Apache. Eu próprio tendem a executar várias versões do Perl e Java.
Satanicpuppy
1
Basta baixar e executar o arquivo .bin do oracle, que então se extrai em uma pasta. Mova esta pasta (por exemplo jdk1.6.0_32) para / usr / lib / jvm e, em seguida, o script que setjavaeu uso para alterar as versões java. Por causa das exportinstruções, você precisa permanecer no mesmo terminal. Além disso, algumas pequenas ferramentas jvm podem não estar definidas, mas acho que deve funcionar na maioria dos casos. Também sou um noob shell, por favor, corrija-me se houver uma possibilidade melhor :-) O código para mim é:
#!/bin/bash
# shouldnt be used in a loop, else the path may become too long
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Not running as root"
exit
fi
case "$1" in
6)
echo "Setting Java version 6"
export PATH=/usr/lib/jvm/jdk1.6.0_32/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_32
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
7)
echo "Setting Java version 7"
export PATH=/usr/lib/jvm/java-7-openjdk/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk/
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
*)
echo "Usage: $0 {6|7}"
esac
exit 0
Basta baixar e executar o arquivo .bin do oracle, que então se extrai em uma pasta. Mova esta pasta (por exemplo
jdk1.6.0_32
) para / usr / lib / jvm e, em seguida, o script quesetjava
eu uso para alterar as versões java. Por causa dasexport
instruções, você precisa permanecer no mesmo terminal. Além disso, algumas pequenas ferramentas jvm podem não estar definidas, mas acho que deve funcionar na maioria dos casos. Também sou um noob shell, por favor, corrija-me se houver uma possibilidade melhor :-) O código para mim é:fonte