Página Inicial do Fórum > Java Básico

.jar não executa, mas classe sim



Criar novo tópico   Responder tópico


  1. andreluizar
    Posts:13


    Comment Arrow

    Publicado em: 22/11/2011 08:05:57

    Bom dia pessoal,

    Estou começando a trabalhar com java agora e evitei ao máximo abrir um novo tópico aqui (estive espreitando bastante...), mas agora eu não consegui entender o pq do meu problema.
    Tenho uma classe desenvolvida e quero fazer dela um serviço do windows.
    Quando executo a classe através do prompt de comando ("java -cp . Server"), a mesma é executada perfeitamente, porém, quando eu exporto gerando o .jar e tento executa-lo ("java -jar Servidor.jar"), retorna o seguinte erro:



    O código da classe é este:





    Se alguém puder me dizer onde é que eu estou errando, por favor, me ajude.
    _________________
    Rise and rise again until lambs become lions!




  1. sekkuar
    Posts:5998


    Comment Arrow

    Publicado em: 22/11/2011 08:08:16

    como você fez ora gerar o .jar?



    provavelmente faltou indicar qual é a classe principal no Manifest
    _________________
    Sekkuar ~ Ex-Catador Executivo do Javafree - (Não mais) Catando os tópico tudo.
    "The mod javafree deserves, but not the one it needs right now."


    Stack Traces existem pra ajudar e não para trazer uma mensagem de satã dizendo que seu computador será destruído.


    Peça seu Código Pronto para o seu Dever de Casa aqui
    You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.




  1. sekkuar
    Posts:5998


    Comment Arrow

    Publicado em: 22/11/2011 08:08:16

    pergunta:

    Se é apenas uma classe, pra que fazer um .jar?
    _________________
    Sekkuar ~ Ex-Catador Executivo do Javafree - (Não mais) Catando os tópico tudo.
    "The mod javafree deserves, but not the one it needs right now."


    Stack Traces existem pra ajudar e não para trazer uma mensagem de satã dizendo que seu computador será destruído.


    Peça seu Código Pronto para o seu Dever de Casa aqui
    You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.




  1. simu
    Posts:9416


    Comment Arrow

    Publicado em: 22/11/2011 08:28:07

    Essa mensagem de erro é uma #$%@.

    Na versão 6 (e anteriores) do Java pelo menos vinha algo como

    Java 6

    Failed to load Main-Class manifest attribute from
    Servidor.jar


    ai fica claro que o problema é com ou a falta do Main-Class.

    @sekkuar
    um JAR é mais fácil de executar - inclusive pela GUI - só clicar duas vezes...

    [[]]
    _________________
      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.




  1. sekkuar
    Posts:5998


    Comment Arrow

    Publicado em: 22/11/2011 08:08:16

    simu

    @sekkuar
    um JAR é mais fácil de executar - inclusive pela GUI - só clicar duas vezes...

    [[]]



    É... mas se ele vai executar pela linha de comando igual ele diz, não precisaria disso.
    _________________
    Sekkuar ~ Ex-Catador Executivo do Javafree - (Não mais) Catando os tópico tudo.
    "The mod javafree deserves, but not the one it needs right now."


    Stack Traces existem pra ajudar e não para trazer uma mensagem de satã dizendo que seu computador será destruído.


    Peça seu Código Pronto para o seu Dever de Casa aqui
    You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.




  1. andreluizar
    Posts:13


    Comment Arrow

    Publicado em: 22/11/2011 08:05:57

    É que eu preciso gerar um serviço para o windows e estou utilizando o wrapper pra isso. Na documentação ele pede que seja um .jar.
    Com relação ao manifest.mf, ele está sendo gerado pelo Eclipse, e realmente não tem informação alguma pelo que eu vi. =\
    _________________
    Rise and rise again until lambs become lions!




  1. simu
    Posts:9416


    Comment Arrow

    Publicado em: 22/11/2011 08:28:07

    sekkuar
    simu

    [...]



    É... mas se ele vai executar pela linha de comando igual ele diz, não precisaria disso.



    penso que foi só para testar... (além de ser (pouco) mais pequeno)


    De qualquer forma o problema é como o JAR foi gerada, muito provavelmente a falta do Main-Class

    [[]]
    _________________
      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.




  1. andreluizar
    Posts:13


    Comment Arrow

    Publicado em: 22/11/2011 08:05:57

    Realmente era o mainclass que não estava especificado no manifest.

    Agora ele rodou beleza com o comando:



    Porém, na hora de executar no wrapper, ele me retorna dizendo que não conseguiu achar a classe principal do mesmo jeito.

    Unable to locate the class Servidor.Server: java.lang.ClassNotFoundException: Servidor.Server



    Fazem idéia do que pode ser agora?
    _________________
    Rise and rise again until lambs become lions!




  1. sekkuar
    Posts:5998


    Comment Arrow

    Publicado em: 22/11/2011 08:08:16

    A classe é só Server

    não Servidor.Server
    _________________
    Sekkuar ~ Ex-Catador Executivo do Javafree - (Não mais) Catando os tópico tudo.
    "The mod javafree deserves, but not the one it needs right now."


    Stack Traces existem pra ajudar e não para trazer uma mensagem de satã dizendo que seu computador será destruído.


    Peça seu Código Pronto para o seu Dever de Casa aqui
    You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.




  1. andreluizar
    Posts:13


    Comment Arrow

    Publicado em: 22/11/2011 08:05:57



    Brigadão, Sekkuar e simu!!

    Rodando certinho agora!!

    Abraço!

    P.S.: Pra editar o manifest através do Eclipse eu utilizei as dicas nesse fórum aqui:

    http://forums.macrumors.com/showthread.php?t=502171[/url]

    Caso alguém tenha a mesma dúvida, tá aí!

    Vlw!!
    _________________
    Rise and rise again until lambs become lions!




  1. simu
    Posts:9416


    Comment Arrow

    Publicado em: 22/11/2011 08:28:07

    pena que não mencionou que era Eclipse na pergunta...
    ia economizar tempo e trabalho! [:-|
    _________________
      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Java Básico