Por exemplo, como criar um arquivo que eu pudesse enviar para um pessoa e que ela pudesse abrir, tendo o JVM instaldo em sua maquina, sem precisar fazer coisas do tipo c:\ java arquivo ? Um arquivo parecido ocm o .jpln (acho que é assim), que nos documentos do Sun, você clica em Launch e aparece um arquivo =D
Alguem poderia me dizer se tem como fazer isso e como se faz?
Vc precisará de um JAR executável. Mas ele não é como se fosse um executável em windows pois ele funcionará para qualquer linguagem.
Só tome cuidado com os paths que vc utilizar. [=
lina
Oi,
Pode-se criar um arquivo .BAT e chamar seu jar a partir dele.
Tchauzin!
izaiasousa
Então por exemplo, se eu criase o arquivo .JAR ele poderia ser aberto em qualquer lugar com o JVM instalado ?
discorpio
Boa tarde.
A partir das versões do JDK 6.0, o instalador cria um chave no registro do windows que associa todo arquivo “.jar" ao Interpretador/Compilador “Javaw” do JVM, ou seja, seria a mesma coisa que quando voce clica num arquivo com a extensão ".doc” ou “.docx" ele abre o Winword.exe e de quebre já abre o arquivo clicado, com o Java, o Javaw, vai interpretar os bytecodes do ser arquivo ".jar” e em alguns casos, nos códigos repetitivos, o compilador “Just-in-Time” já recompila para o código nativo da máquina dando celeridade de execução.
Versões anteriores do JDK 6.0, o arquivos “.jar" só poderiam ser executados, invocando o Interpretador “Java” dentro do promt do DOS, neste caso, a sugestão da nossa amiga Lina, cabe muito bem, ou seja voce criar um arquivo ".bat” com comandos do DOS invocando o Interpretador “Java”.
…
…
Apenas um cuidado, as vezes o registro de execução do jar automaticamente através do javaw se perde (instaladores de programas de compactação tendem a fazer isso).
Quanto ao bat, pode utilizar o javaw também ou então pode-se criar um executável que faça essa ação (o eclipse faz algo do tipo), ou simplesmente um atalho.
Pra falar a verdade, a linguagem java inicialmente não foi criada para gerar executáveis, e até hoje não gera, isto porque iria contra os seus princípios da multiplataforma, onde uma vez linkeditada as bibliotecas do sistema operacional onde foi desenvolvido o projeto, o programa passa a ser monoplataforma e a máquina virtual perde totalmente a sua funcionalidade. O que se cria na realidade, não são arquivos executáveis, e é exatamente isto que precisa ser esclarecido, o que se cria são mecanismos de associação dos arquivos “.jar" fazendo com que inicia-se a execução do interpretador Javaw para interpretar o arquivo ".jar” que ora foi clicado.
A compilação do “Just-in-Time” citada por mim anteriormente, fica temporiamente na camada de abstração do JVM, enquanto a aplicação estiver sendo rodada, que logo se perde quando esta pará de ser executada.
WellingtonRamos
discorpio:
A partir das versões do JDK 6.0, o instalador cria um chave no registro do windows que associa todo arquivo “.jar" ao Interpretador/Compilador “Javaw” do JVM, ou seja, seria a mesma coisa que quando voce clica num arquivo com a extensão ".doc” ou “.docx" ele abre o Winword.exe e de quebre já abre o arquivo clicado, com o Java, o Javaw, vai interpretar os bytecodes do ser arquivo ".jar” e em alguns casos, nos códigos repetitivos, o compilador “Just-in-Time” já recompila para o código nativo da máquina dando celeridade de execução.
Versões anteriores do JDK 6.0, o arquivos “.jar" só poderiam ser executados, invocando o Interpretador “Java” dentro do promt do DOS, neste caso, a sugestão da nossa amiga Lina, cabe muito bem, ou seja voce criar um arquivo ".bat” com comandos do DOS invocando o Interpretador “Java”.
Apenas um cuidado, as vezes o registro de execução do jar automaticamente através do javaw se perde (instaladores de programas de compactação tendem a fazer isso).
Quanto ao bat, pode utilizar o javaw também ou então pode-se criar um executável que faça essa ação (o eclipse faz algo do tipo), ou simplesmente um atalho.
WellingtonRamos
discorpio:
Boa tarde a todos.
wellington.nogueira:
…
…
Pra falar a verdade, a linguagem java inicialmente não foi criada para gerar executáveis, e até hoje não gera, isto porque iria contra os seus princípios da multiplataforma, onde uma vez linkeditada as bibliotecas do sistema operacional onde foi desenvolvido o projeto, o programa passa a ser monoplataforma e a máquina virtual perde totalmente a sua funcionalidade. O que se cria na realidade, não são arquivos executáveis, e é exatamente isto que precisa ser esclarecido, o que se cria são mecanismos de associação dos arquivos “.jar" fazendo com que inicia-se a execução do interpretador Javaw para interpretar o arquivo ".jar” que ora foi clicado.
A compilação do “Just-in-Time” citada por mim anteriormente, fica temporiamente na camada de abstração do JVM, enquanto a aplicação estiver sendo rodada, que logo se perde quando esta pará de ser executada.
Eu entendi o que você disse. Apenas quis alertar que essa associação do sistema operacional ao executor do javaw pode ser perdida e você não consiga mais executar dessa forma (vale lembrar que, essa forma só funciona com um manifest.mf escrito corretamente, indicando a main-class).
Eu coloquei que o desenvolvedor pode, alternativamente, criar programas de execução batch (seja um .bat ou um .sh, ou outro) ou um executável que configure o ambiente e invoque o arquivo jar. No caso, para o programa ser multi-plataforma, essas alternativas deveriam ser realizadas para cada SO aplicável à solução. Ou então o usuário teria que invocar manualmente a ação.