Solaris jdk 7 erro de instalação java -version Nenhum arquivo ou diretório

1
Estou tentando seguir este site para instruções sobre como instalar o jdk para Solaris 10 com as seguintes informações:

$ isainfo -v
64-bit amd64 applications
        ssse3 tscp sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
        ssse3 tscp sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu

Quando eu insiro o seguinte comando java -version depois de seguir a instrução, recebo um erro.

$ java -version
bash: java: command not found

Alguém pode ajudar. Obrigado

Abaixo estão os passos que tomei

$ ls -l
total 14
drwxr-xr-x   6 root     bin          512 Sep 17 11:17 instances
lrwxrwxrwx   1 root     other          7 May 12 14:21 j2sdk1.4.2_34 -> ../j2se
lrwxrwxrwx   1 root     other         18 May 12 14:22 jdk1.5.0_32 -> instances/jdk1.5.0
lrwxrwxrwx   1 root     other         18 May 12 14:21 jdk1.6.0_37 -> instances/jdk1.6.0
lrwxrwxrwx   1 root     root          22 Sep 17 11:20 jdk1.7.0_67 -> instances/jdk1.7.0_67/
lrwxrwxrwx   1 root     root          11 Sep 18 09:42 latest -> jdk1.7.0_67
drwxr-xr-x   8 root     bin          512 May 12 15:04 packages
$ rm latest
$ ln -s instances/jdk1.7.0_67 jdk1.7.0_67
$ ln -s jdk1.7.0_67 latest
$
$ pwd
/usr/jdk
$
$ cd /usr/
$ ls -ld
drwxr-xr-x  43 root     sys         1024 Sep 18 09:45 .
$ ls -ld java
lrwxrwxrwx   1 root     root          10 Sep 18 09:43 java -> jdk/latest
$ pwd
/usr
$ rm java
$ ls -ld java
java: No such file or directory
$ ls -ld
drwxr-xr-x  43 root     sys         1024 Sep 18 10:24 .
$
$ ln -s jdk/latest java
$ java -version
bash: java: command not found

Atualizar

$ echo $PATH
/usr/sbin:/usr/bin:/usr/java/bin:/usr/ant/apache-ant/bin:/u01/oracle/middleware/wlserver_10.3/common/bin:/opt/CollabNet_Subversion/bin


Error
    $ java -version
    bash: java: command not found

Atualização 2 outra saída de exportação omitida

$ PATH=$PATH:/usr/jdk/instances/jdk1.7.0_67/bin
$ export path
$ export
declare -x ANT_HOME="/usr/ant/apache-ant"
declare -x HOME="/"
declare -x JAVA_HOME="/usr/java"
declare -x JAVA_OPTS="-Xms512m -Xmx1024m"
declare -x PATH="/usr/sbin:/usr/bin:/usr/java/bin:/usr/ant/apache-ant/bin:/u01/oracle/middleware/wlserver_10.3/common/bin:/opt/CollabNet_Subversion/bin:/usr/jdk/instances/jdk1.7.0_67/bin"
declare -x PWD="/usr/java/bin/amd64"
declare -x SHELL="/bin/bash"
declare -x TERM="xterm"
$ java -version
bash: java: command not found
    
por dimas 18.09.2014 / 04:03

3 respostas

1

Esta é uma resposta complicada à sua pergunta porque acredito que você está tornando as coisas mais mais complexas do que precisam.

Eu tenho uma boa idéia do que está errado com a sua instalação: Referindo-se ao meu ponto de bala abaixo sobre Java de 64 bits no Solaris eu estou supondo que o que você está fazendo errado é que você instalou o pacote de sobreposição Java de 64 bits para o Solaris. Isso não vai funcionar.

Ok, agora que recebi sua atenção (:-)), por favor, satisfaça-me porque eu acredito que você está no caminho errado todos juntos.

Não tenho certeza se gostaria de seguir esse blog que você está se referindo. Na minha experiência, o próprio Solaris pode criar um processo Java (processo de registro da ferramenta de registro, Console da Web, Contêiner do Common Agent e o que você tem. Nada vital, mas ainda assim) e alterar o Java em todo o sistema pode ser uma má idéia pelo menos, você deixa com menos controle em uma base por aplicativo. Basta deixar o sistema Java sozinho é uma abordagem muito mais simples, IMHO.

Aqui estão as minhas orientações altamente opinativas sobre como lidar com Java no Solaris:

  • Geral: Como um profissional do sistema nunca tira nada de java.com . É para consumidores / desktops. Sempre use o Java em Oracle Tech Network site (ainda uso o link link que tenho certeza que continuará trabalhando os próximos 10 anos: -))

  • Deixe o Java em todo o sistema sozinho. Deixe viver sua própria vida.

  • Descompacte os pacotes Java em /opt/java ou /apps/java ou o que for. Em algum lugar controla e isso parece natural para você. Vamos chamá-lo de JAVA_ROOT a partir de agora.

  • Ao descompactar os pacotes de java.sun.com em JAVA_ROOT , ele ficará assim em termos de sub-dirs (exemplo):

jdk1.7.0_05
jdk1.7.0_09
jdk1.7.0_17
jdk7 -> jdk1.7.0_17
jre -> jre7
jre1.6.0_32
jre1.7.0_05
jre1.7.0_17
jre1.8.0_20
jre6 -> jre1.6.0_32
jre7 -> jre1.7.0_17
jre8 -> jre1.8.0_20
  • Observe como eu uso links simbólicos. Bem, você entendeu.

  • Quando você inicia seu aplicativo, simplesmente (na inicialização desse aplicativo) defina o PATH para apontar para o Java que você deseja. Alguns aplicativos também querem que você defina um JAVA_HOME var. Agora você pode controlar as coisas por aplicativo. Se você usar os links simbólicos nos scripts de inicialização de seu aplicativo, ainda poderá reter alguma capacidade de alteração em todo o sistema quando precisar. Se o seu aplicativo exigir uma versão específica do Java, deixe-o apontar para uma versão específica e não para um dos links simbólicos.

  • Uma observação importante sobre sistemas de 64 bits: Até e incluindo o Java 7, é necessário instalar pacotes dois do java.sun.com, um em cima do outro, como o de 64 bits. suporte é efetivamente entregue como um pacote de sobreposição para o pacote de 32 bits. Isso confunde a maioria das pessoas, pois é diferente de todos os outros sistemas operacionais. Mesmo que você não queira usar o Java de 32 bits, primeiro é necessário colocar o pacote Java de 32 bits e, em seguida, sobrepô-lo ao pacote Java de 64 bits. Felizmente, isso mudou no Java 8 porque o Oracle não oferece mais o Java de 32 bits para o Solaris.

A desvantagem óbvia desta solução é que você perderá os benefícios de usar um gerenciador de pacotes para o software Java. Eu acredito que os benefícios superam as desvantagens. Julgue por si mesmo.

Mesmo no Solaris 11 (que tem um excelente gerenciador de pacotes para software), ainda sou a favor dessa solução.

    
por 21.09.2014 / 08:21
0

Faça

PATH=$PATH:/usr/jdk/instances/jdk1.7.0_67/bin
export PATH

e dê outra chance.

    
por 18.09.2014 / 05:40
0

No Solaris, o comando java comumente (mas nem sempre) se refere a /usr/bin/java . /usr/bin/java é geralmente um link simbólico para o binário java instalado.

Por exemplo, em um dos meus sistemas Solaris:

dev:/ which java
/usr/bin/java
dev:/ ls -l /usr/bin/java
lrwxrwxrwx   1 root     other         16 Nov 19  2013 /usr/bin/java -> ../java/bin/java
dev:/

Ter isso como um link simbólico facilita a instalação de outra versão do Java. Basta alterar o link /usr/bin/java para o binário java da versão recém-instalada e ele usará a nova versão. Se você precisar reverter para a versão antiga, o link simbólico poderá ser alterado novamente para seu valor anterior muito rapidamente.

Para configurar o link, se ainda não existir:

ln -s <path to java binary that you wish to use> /usr/bin/java
    
por 19.09.2014 / 02:16