+ Responder ao Tópico



  1. #1

    Padrão Java não roda aplicação

    Que a paz esteja com todos...

    Instalei o java-6-sun-1.6.0.18 em debian lenny via apt-get install. A instalação decorreu bem e não tive nenhum problema nesta operação. Parabenizo debian.org pela eficiência. Mas...
    Tudo funciona -- javac ok, applets ok -- exceto o famoso comando java arquivo.java. Recebo a seguinte mensagem quando tento executar a também famosa HelloWorld.java:

    java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory


    Obs. O arquivo libjli.so existe mas não é encontrado. Seria o caso de criar um link simbĺico apontando para ele? Mas... Já fiz isto numa instalação anterior e o mesmo erro continua aparecendo. Poderia ser variáveis de ambiente mal setadas? Também já tentei, já fiz de tudo no /etc/profile e não obtive sucesso. Ou será que não estou entendendo corretamente a mensagem de erro? Estou com o java estropiado na minha máquina. Só a jre funciona. Alguém já passou por semelhantes trabalhos?
    Preciso de ajuda com esse problema.
    Agradecido
    Última edição por dofarias; 29-03-2010 às 09:19.

  2. #2

    Padrão Resolvido

    Conforme postado anteriormente, após instalar java-6-sun-1.6.0.18 (agora atualizado para java-6-sun-1.6.0.19) em debian lenny via apt-get install tive problemas com o comando java. Toda vez que chamava java obtinha na saída o seguinte erro: java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory... Embora tivesse jre e javac rodando a saída era sempre a mesma quando se tratava de rodar aplicações. Iniciei então uma série de pesquisas visando resolver o problema. Observei que tal erro é largamente encontrado e que as mais variadas e desencontradas opiniões são apresentadas mas, infelizmente, no meu caso nenhuma delas resolveu o problema. Parti então para a observação pura e simples e conseguim resolver a questão.
    Observação --1 Tenho jre funcionando, pois consigo visualizar applets;
    Observação --2 Tenho javac funcionando, pois compilo;
    Observação --3 Por que java não funciona se os demais funcionam?

    Concentrei então os meu esforços sobre javac, pois achava que ele seria a solução do meu problema;

    Ações:
    Abra um terminal:
    sigma459@olabor:~$ whereis java
    java: /usr/bin/java /etc/java /usr/share/java

    Deixei /etc/java /usr/share/java de lado e parti para /usr/bin. Claro que se não tivesse resolvido o problerma verificaria também em /etc/java /usr/share/java
    cd /usr/bin
    Abri o navegador de arquivos e fui para /usr/ bin
    em /usr/bin encontrei um link simbólico chamado javac que apontava para /usr/lib/jvm/java-6-sun/bin/javac (no meu caso, é importante observar)
    encontrei também um executável chamado java
    Pensei...
    E se eu remover esse executável e no seu lugar criar um link simbólico chamado java apontando para o mesmo diretório que o link simbĺico javac aponta? Afinal, pensei, se o javac funciona deve ser por aí o 'x' da questão...
    /usr/bin rm java
    /usr/bin ln -s /usr/lib/jvm/java-6-sun/bin/java
    Foi criado o link simbólico /usr/lib/jvm/java-6-sun/jre/bin/java (não sei porque /jre aparece mas foi assim que a coisa se deu --veja em propriedades)

    O resultado:
    sigma459@olabor:~$ java -version
    java version "1.6.0_19"
    Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
    Java HotSpot(TM) Server VM (build 16.2-b04, mixed mode)

    Espero que possa ajudar alguém com o mesmo problema...
    Ps. Não esqueça de adaptar os passos acima ao seu caso.
    Última edição por dofarias; 05-04-2011 às 20:19.

  3. #3

    Padrão Re: Java não roda aplicação

    Olá sou novo na SO linux, instalei o netgrok e é um aplicativo que necessita do Java, tenho ele instalado via apt-get porém da erro qnd tento usa-lo. Vc poderia me ajudar?

  4. #4

    Padrão Re: Java não roda aplicação

    Ola, Macqueen;
    Se o erro for:
    java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

    Tente o seguinte:
    Abra um terminal como root...
    1 - Vá para o diretório /usr/bin...
    # cd /usr/bin
    2 - Remova java... (se você não removê-lo receberá a mensagem de que o arquivo já existe e o link não será criado)
    # rm java
    3 - Crie o seguinte link simbólico...
    # ln -s /usr/lib/jvm/java-6-sun/bin/java java (adapte ao seu caso)
    4 - Faça o teste...
    O resultado:
    sigma459@olabor:~$ java -version (o seu terminal, claro)
    java version "1.6.0_19"
    Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
    Java HotSpot(TM) Server VM (build 16.2-b04, mixed mode)

    Em resumo, foi assim que eu resolvi o problema...

    Uma dica: acompanhe os movimentos do terminal com o navegador de arquivos aberto - eu costumo colocá-lo do lado direito da tela. Assim você vê o que acontece dentro do diretório...

    Qualquer coisa poste aí que estou às ordens do amigo. E nunca desista!
    Um abraço
    Última edição por dofarias; 06-04-2011 às 14:37.

  5. #5

    Padrão Re: Java não roda aplicação

    Só corrigindo, não instalei o netgrok via apt-get, até pq não existe ainda nos repositorios da debian esse aplicativo. Instalei via pacote .tar. Mas qnd digito no terminal: java -jar netgrok20080928.jar, aparece uns erros de java. vou postar aki os erros pra vc analisar melhor ok?
    Última edição por Macqueen; 05-04-2011 às 22:26.

  6. #6

    Padrão Re: Java não roda aplicação

    Olá, Macqueen;
    A idéia central deste post é tratar do erro específico descrito acima, isto é:
    java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

    Quando referi-me à instalação pelo apt-get, fazia menção ao modo como instalei o java no meu sistema (#apt-get install sun-java6-jdk...). Então todas as observações e procuras que fiz diziam respeito ao erro do java já citado. Mas, de qualquer forma, estamos à disposição no que for possível para ajudá-lo. Porém, insisto para que o amigo verifique se o java está corretamente configurado no seu sistema através dos testes observados acima. Quer dizer, abra um terminal e execute os comandos a seguir:
    1 - $java -version
    Na saída deverá aparecer a descrição da versão do java instalado e configurado no seu sistema...
    2- $javac -version
    Na saída deverá aparecer a descrição da versão do javac instalado e configurado no seu sistema...
    3 - $javac
    Na saída deve aparecer as características do javac... (uma espécie de listagem...)

    Por ora, é só isso. Mas pode postar os erros apresentados para que possamos tentar resolver...
    Um abraço

  7. #7

    Padrão Re: Java não roda aplicação

    Olá, Macqueen;
    Aqui uma instalação do java que funciona:
    Após apt-get update...
    mon111:/home/fsfarias# apt-get install sun-java6-jdk
    Processing triggers for menu ... #########Fim da instalação do java pelo apt-get

    mon111:/home/fsfarias# java -version
    java version "1.5.0" #########Versão padrão da instalação
    gij (GNU libgcj) version 4.3.2
    Copyright (C) 2007 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    mon111:/home/fsfarias# javac #########Teste javac
    Usage: javac <options> <source files>
    where possible options include:
    -g Generate all debugging info
    -g:none Generate no debugging info
    -g:{lines,vars,source} Generate only some debugging info
    -nowarn Generate no warnings
    -verbose Output messages about what the compiler is doing
    -deprecation Output source locations where deprecated APIs are used
    -classpath <path> Specify where to find user class files and annotation processors
    -cp <path> Specify where to find user class files and annotation processors
    -sourcepath <path> Specify where to find input source files
    -bootclasspath <path> Override location of bootstrap class files
    -extdirs <dirs> Override location of installed extensions
    -endorseddirs <dirs> Override location of endorsed standards path
    -proc:{none,only} Control whether annotation processing and/or compilation is done.
    -processor <class1>[,<class2>,<class3>...]Names of the annotation processors to run; bypasses default discovery process
    -processorpath <path> Specify where to find annotation processors
    -d <directory> Specify where to place generated class files
    -s <directory> Specify where to place generated source files
    -implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files
    -encoding <encoding> Specify character encoding used by source files
    -source <release> Provide source compatibility with specified release
    -target <release> Generate class files for specific VM version
    -version Version information
    -help Print a synopsis of standard options
    -Akey[=value] Options to pass to annotation processors
    -X Print a synopsis of nonstandard options
    -J<flag> Pass <flag> directly to the runtime system

    mon111:/home/fsfarias# whereis java ######Localizando o java
    java: /usr/bin/java /etc/java /usr/share/java
    mon111:/home/fsfarias# ls -l /usr/bin/java
    lrwxrwxrwx 1 root root 22 2011-04-03 10:45 /usr/bin/java -> /etc/alternatives/java
    mon111:/home/fsfarias# ls -l /etc/alternatives/java
    lrwxrwxrwx 1 root root 34 2011-04-06 12:36 /etc/alternatives/java -> /usr/lib/jvm/java-gcj/jre/bin/java #####Aqui ele mostra a instalação padrão

    mon111:/home/fsfarias# ls -l /usr/java
    ls: cannot access /usr/java: No such file or directory #####java instalado não encontrado

    mon111:/home/fsfarias# cd /usr
    mon111:/usr# ln -s /usr/lib/jvm/java-6-sun-1.6.0.22 java #####criando link simbólico para java
    mon111:/usr# ls -l /usr/java
    lrwxrwxrwx 1 root root 32 2011-04-06 13:00 /usr/java -> /usr/lib/jvm/java-6-sun-1.6.0.22 ###java instalado encontrado


    ####Versão padrão da instalação do Debian

    mon111:/usr# java -version
    java version "1.5.0"
    gij (GNU libgcj) version 4.3.2
    Copyright (C) 2007 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    ####Alterando /etc/alternatives

    mon111:/usr# cd /etc/alternatives
    mon111:/etc/alternatives# rm java
    mon111:/etc/alternatives# ln -s /usr/java/bin/java java #####criando link simbólico

    ####Versão instalada pelo apt-get
    mon111:/etc/alternatives# java -version
    java version "1.6.0_22"
    Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
    Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)
    mon111:/etc/alternatives#

    Um abraço
    Última edição por dofarias; 06-04-2011 às 14:49.