pkg uninstall jdk-6
pkg install jdk-7
Nota: Não há "Solaris 12" lançado.
Como desinstalar o java jdk6 e jre6 do Solaris 11 x86 OS? e instalar o java7? Como definir o caminho e o caminho da classe?
pkg uninstall jdk-6
pkg install jdk-7
Nota: Não há "Solaris 12" lançado.
Pessoalmente, achei melhor não tocar no Java usado pelo sistema operacional. Deixe viver sua própria vida.
Eu simplesmente instalo os pacotes tar.gz
do site de download Java da Oracle em um diretório, por exemplo %código%. A desvantagem é que desta forma eu não estou usando o mecanismo de empacotamento (IPS), mas por outro lado, me permite controle total e posso ter quantos JREs ou JDKs instalados como eu quero. Se você está usando os pacotes /java
você não está realmente instalando , você está apenas descompactando um arquivo em um diretório. Eu gosto disso por sua simplicidade e porque é definição não é intrusiva.
Como exemplo, meu diretório tar.gz
é assim:
jdk1.7.0_05
jdk1.7.0_09
jdk1.7.0_17
jdk1.7.0_67
jdk1.8.0_11
jdk7 -> jdk1.7.0_67
jdk8 -> jdk1.8.0_11
jre -> jre1.7.0_67
jre1.6.0_32
jre1.7.0_05
jre1.7.0_17
jre1.8.0_11
jre6 -> jre1.6.0_32
jre7 -> jre1.7.0_67
jre8 -> jre1.8.0_11
Em outras palavras: Muitos diretórios que representam JREs ou JDKs que eu instalei (leia-se: descompactado) ao longo dos anos. Os nomes dos diretórios são criados quando você descompacta. Como você pode ver, eu uso links simbólicos para centralizar o manuseio de versões.
Se eu tiver um aplicativo para o qual gostaria de usar o JRE7, simplesmente certificaria-me de definir a variável /java
apropriadamente antes do lançamento do aplicativo. Diga por exemplo:
export PATH="/java/jre7/bin:${PATH}"
Isso fará com que meu aplicativo use o Java 7.
Você também pergunta sobre o classpath. Essa pergunta não tem nada a ver com o núcleo java. Depois de definir seu PATH
corretamente, o Java saberá automaticamente onde encontrar seus arquivos jar principais. O motivo pelo qual você geralmente precisa definir o caminho de classe é devido ao próprio requisito do seu aplicativo, não por causa do ambiente de tempo de execução Java.
Você não pode remover o JDK / JRE que os aplicativos do SO estão usando. Período. Mas você pode
por exemplo, no Solaris 11/11, o sistema operacional tem o JRE6 e vários aplicativos instalados dependem do JRE6. Você NÃO PODE removê-lo. Você pode atualizá-lo para uma versão superior de 6. Nesse caso, você também pode instalar ou remover o JRE7 ou o 8 com o IPS. Adicionar apenas o JRE7 não altera as aplicações que ainda são dependentes do JRE6.
Se você atualizar o sistema operacional (como "pkg update --accept"), isso provavelmente irá atualizar todos os aplicativos que dependem do JRE também. Agora você tem todos eles dependem de dizer JRE7. Quando isso acontece, você não pode mais remover 7 (que a atualização instalou), mas você pode atualizá-lo para uma versão superior de 7. Você também pode instalar / desinstalar o JRE8, uma vez que não está vinculado ao sistema.
Isso vale para qualquer versão do Solaris 11 e superior (sim 12 também) que você tenha.
A propósito de fazer downgrade do JRE você o atualiza - você aponta para uma versão anterior e atualiza para essa versão. Se você tem um repositório que diz 7u45 e 7u60, quando você atualizou, você tem 7u60. Se você quiser voltar para o 7u45, você especifica como este
pkg update pkg: //solaris/runtime/java/[email protected]
A propósito, a instalação de pacotes SVR4 (pkgadd) no Solaris 11 e superior para Java NÃO é suportada. O IPS é a maneira preferida e suportada de colocar o Java em seu sistema. Se você precisar de várias versões de família, deve-se usar o .gz ou outros pacotes compactados e soltá-lo em um local personalizado.