Rodando aplicaÇÃo java direto no navegador web

Boa noite pessoal!

Estou terminando uma aplicação java e estou com algumas dúvidas:

Como faço para rodar esta aplicação em qualquer computador, isto é, sem precisar compilar sempre as classes?

Para rodar a aplicação diretamente na página da web, no mozilla ou internet explorer, como eu procedo?

Abraço,

Marcelo.

Boa noite,

quando você contruir o projeto ele irá lhe fornecer um arquivo .WAR, esse arquivo você terá que que hospedar em um servidor Apache TomCat ou GlassFish (Mais conhecidos).

Logo após você poderá acessar sua aplicação de um browser.

xD~~

No caso, seria o .jar? E como faço para chamar esse jar pelo navegador?

Neste caso, tenho varios arquivos para a aplicação, como imagens e sons. Como faço para criar um jar com tudo isso? Esse jar poderá ser executado em qualquer computador?

Neste caso amigo, acredito que para um jar ser executado diretamente no browser…você deverá usar Applets ou Java FX…É a mesma lógica do flash…aliás Java FX é concorrente do Flash…Assim que o cliente abrir o broser, o jars será executado…acredito que você tenha que colocar uma referencia num pagina de HTML dos jars que vc está trabalhando, do mesmo jeito quando uma pessoa faz uma animção em flash, ele joga isso num html…e exibe o html no broser do cliente, com o jars funciona da mesma maneira.

Procura no google como trabalhar com Java FX ou applets.

Você pode distribuir sua aplicação via Java WebStart (JWS). Ao disparar o link JWS da aplicação, seu cliente receberá os arquivos necessários e poderá executar seu programa. É possível empacotar as imagens e sons de que sua aplicação necessita nos arquivos JAR que a compõem, mas para carregá-los em tempo de execução você terá de ler o Classpath em vez do sistema de arquivos.

Neste caso, como fazer isto?

Resumo da ópera:

  • Crie sua aplicação de modo que todos os recursos de que ela precisa estejam contidos em arquivos JAR;
  • Publique os arquivos JAR num servidor Web;
  • Crie um arquivo XML (com extensão JNLP…) descrevendo sua aplicação e contendo os endereços dos arquivos JAR adequados, e publique o arquivo JNLP no servidor Web.

http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp
http://www.java.com/pt_BR/download/faq/java_webstart.xml
http://en.wikipedia.org/wiki/Java_Web_Start

Entendi. Mas estou com dúvida tambem na criação do JAR. No meu caso, tenho várias classes, onde só uma, a principal, contém o main. Possuo pastas com imagens tambem. Nos tutoriais não vi exemplos deste tipo. Tem ideia de como poderia criar esse jar?

Pode colocar as imagens e sons na mesma pasta que seus arquivos de código-fonte. Melhor ainda, crie pastas específicas (ou seja, packages específicos) para conter suas imagens e sons. E, para carregá-los em tempo de execução, use o método getResourceAsStream():

http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)

Mas onde uso esse método? Tenho tudo em pastas separadas e a aplicação ao compilar e rodar, funciona perfeitamente. O problema é a criação do JAR. Será que não teria um exemplo disto? Acho que é necessário criar um arquivo manifesto, onde este carrega tudo que é necessário.

Hoje, ao compilar sua aplicação, você certamente gera um JAR contendo arquivos .CLASS em diretórios correspondentes aos packages que você criou. Se, na sua árvore de diretórios de código-fonte, você criar pastas especificas para seus arquivos de imagem e som - ou seja, você deixará de ter apenas arquivos .JAVA nessa estrutura, e terá também outros tipos de arquivos - ao compilar o projeto, os arquivos de imagem e som serão incluídos no arquivo JAR.

Quanto ao uso do método loadResourceAsStream(), acho que hoje você já usa a classe FileInputStream para carregar arquivos, passando para a classe o caminho do arquivo que quer carregar. Em vez de criar FileInputStream’s, você passaria a usar o método citado, passando para o método o caminho do arquivo contido no seu classpath.

http://www.java2s.com/Code/Java/Development-Class/Loadresourcefileabsolutefromtheclasspath.htm

Mas é exatamente esse o meu problema. Eu compilo e rodo o programa diretamente no JCreator e neste caso não gero o jar. A dúvida é como criar esse jar.

Abraço.

O JCreator não gera o JAR para você? Nesse caso, você pode fazer isto manualmente:

http://java.sun.com/docs/books/tutorial/deployment/jar/index.html

Olá!

Tentei criar o jar usando:

jar cmfv manifesto.txt nome.jar *.class

Mas ao tentar executar o arquivo jar gerado, ele dá o seguinte erro:

Failed to load main-class manifest attribute from

E quando desconpacto o arquivo, no manifest.mf não aparece a main class inserida no manifesto.txt que foi criado. O que pode estar errado?

Outra coisa que acontece é que quando uso um package, não consigo rodar o arquivo atraves de linha de comando, o que pode tambem estar dificultando o jar.

Abraço,

Marcelo.