Pessoalmente, achei melhor não tocar no Java usado pelo sistema operacional. Deixe viver sua própria vida.
Eu simplesmente instalo os tar.gzpacotes do Java Download Site da Oracle em um diretório, por exemplo /java. A desvantagem é que, dessa maneira, não estou usando o mecanismo de empacotamento (IPS), mas, por outro lado, ele me permite controle total e posso ter quantos JREs ou JDKs instalados quanto desejar. Se você estiver usando os tar.gzpacotes que não está realmente instalando , estará apenas descompactando um arquivo morto em um diretório. Eu gosto disso por sua simplicidade e porque sua definição não é intrusiva.
Em outras palavras: vários diretórios que representam JREs ou JDKs que eu instalei (leia-se: desempacotado) ao longo dos anos. Os nomes de diretório realmente se criam quando você descompacta. Como você pode ver, eu uso links simbólicos para centralizar o tratamento de versões.
Se eu tiver um aplicativo que gostaria de usar o JRE7, simplesmente garantiria a definição PATHadequada da variável antes do lançamento do aplicativo. Digamos, por exemplo:
export PATH="/java/jre7/bin:${PATH}"
Isso garantirá que meu aplicativo use Java 7.
Você pergunta também sobre o caminho da classe. Essa pergunta não tem nada a ver com o núcleo do java. Depois de definir PATHcorretamente, o Java saberá automaticamente onde encontrar seus arquivos jar principais. O motivo pelo qual você normalmente precisa definir o caminho de classe é devido aos requisitos do próprio aplicativo, não ao Java Runtime Environment.
Você não pode remover o JDK / JRE que os aplicativos do SO estão usando. Período. Mas você pode
atualize ou faça o downgrade
instalar / remover uma versão mais recente da família
por exemplo, no Solaris 11/11, o sistema operacional possui 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 do 6. Nesse caso, você também pode instalar ou remover o JRE7 ou 8 com o IPS. A adição apenas do JRE7 não altera os aplicativos que ainda dependem do JRE6.
Se você atualizar o SO (como "pkg update --accept"), provavelmente atualizará todos os aplicativos que dependem do JRE também. Agora você tem todos eles dependem do JRE7. Quando isso acontece, você não pode mais remover 7 (que a atualização instalou), mas pode atualizá-la para uma versão superior do 7. Você também pode instalar / desinstalar o JRE8, pois não está vinculado ao sistema.
Isso vale para qualquer versão do Solaris 11 e posterior (sim 12 também) que você possui.
A fim de fazer o downgrade do JRE, você o atualiza - você aponta para uma versão anterior e atualiza para essa versão. Se você possui um repositório que diz 7u45 e 7u60, quando você atualizou, você possui 7u60. Se você deseja voltar para 7u45, especifique-o assim
A propósito, a instalação de pacotes SVR4 (pkgadd) no Solaris 11 e posterior para Java NÃO é suportada. O IPS é a maneira preferida e suportada de colocar o Java no 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.
Respostas:
Nota: Não há "Solaris 12" lançado.
fonte
Pessoalmente, achei melhor não tocar no Java usado pelo sistema operacional. Deixe viver sua própria vida.
Eu simplesmente instalo os
tar.gz
pacotes do Java Download Site da Oracle em um diretório, por exemplo/java
. A desvantagem é que, dessa maneira, não estou usando o mecanismo de empacotamento (IPS), mas, por outro lado, ele me permite controle total e posso ter quantos JREs ou JDKs instalados quanto desejar. Se você estiver usando ostar.gz
pacotes que não está realmente instalando , estará apenas descompactando um arquivo morto em um diretório. Eu gosto disso por sua simplicidade e porque sua definição não é intrusiva.Como exemplo, meu
/java
diretório fica assim:Em outras palavras: vários diretórios que representam JREs ou JDKs que eu instalei (leia-se: desempacotado) ao longo dos anos. Os nomes de diretório realmente se criam quando você descompacta. Como você pode ver, eu uso links simbólicos para centralizar o tratamento de versões.
Se eu tiver um aplicativo que gostaria de usar o JRE7, simplesmente garantiria a definição
PATH
adequada da variável antes do lançamento do aplicativo. Digamos, por exemplo:Isso garantirá que meu aplicativo use Java 7.
Você pergunta também sobre o caminho da classe. Essa pergunta não tem nada a ver com o núcleo do java. Depois de definir
PATH
corretamente, o Java saberá automaticamente onde encontrar seus arquivos jar principais. O motivo pelo qual você normalmente precisa definir o caminho de classe é devido aos requisitos do próprio aplicativo, não ao Java Runtime Environment.fonte
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 possui 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 do 6. Nesse caso, você também pode instalar ou remover o JRE7 ou 8 com o IPS. A adição apenas do JRE7 não altera os aplicativos que ainda dependem do JRE6.
Se você atualizar o SO (como "pkg update --accept"), provavelmente atualizará todos os aplicativos que dependem do JRE também. Agora você tem todos eles dependem do JRE7. Quando isso acontece, você não pode mais remover 7 (que a atualização instalou), mas pode atualizá-la para uma versão superior do 7. Você também pode instalar / desinstalar o JRE8, pois não está vinculado ao sistema.
Isso vale para qualquer versão do Solaris 11 e posterior (sim 12 também) que você possui.
A fim de fazer o downgrade do JRE, você o atualiza - você aponta para uma versão anterior e atualiza para essa versão. Se você possui um repositório que diz 7u45 e 7u60, quando você atualizou, você possui 7u60. Se você deseja voltar para 7u45, especifique-o assim
atualização do pkg pkg: //solaris/runtime/java/[email protected]
A propósito, a instalação de pacotes SVR4 (pkgadd) no Solaris 11 e posterior para Java NÃO é suportada. O IPS é a maneira preferida e suportada de colocar o Java no 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.
fonte