Ajuda com Java Web Start

12 respostas
B

Olá Galera,

Estou usando o JWS p/ distribuir minha aplicação. Já criei o jar, gerai o par de chaves (pública e privada), exportei o certificado da chave pública, assinei todos os jars, e finalmente criei o arquivo policy.

Só que, quando tento executar minha aplicação pelo netbeans (Java Web Start -> Run with Java Web Start), ela não funfa. Pensei que era porque os jars não estavam assinados, mas eu assinei eles e conferi um por um.

Quando executo o arquivo jnlp aparece aquela splash screen do java web start, em seguida aparece uma tela com o título Unable to launch the application, onde o From dessa tela aparece file:// sem nada escrito, sendo que aparentemente o arquivo jnlp está correto. A seguinte exception também é lançada:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: file:/C:/Arquivos de programas/netbeans-5.5.1/src/GCC/lib/gnujaxp.jar
	at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
	at com.sun.javaws.Launcher.downloadResources(Unknown Source)
	at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
	at com.sun.javaws.Launcher.launch(Unknown Source)
	at com.sun.javaws.Main.launchApp(Unknown Source)
	at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
	at com.sun.javaws.Main$1.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Meu arquivo jnlp está assim:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc.//DTD JNLP 1.5//EN" "http://www.netbeans.org/jnlp/DTD/jnlp.dtd">
<jnlp codebase="file:///C:/Arquivos de programas/netbeans-5.5.1/src/GCC" href="Gerencia_CallCenter.jnlp" spec="1.0">
  <information>
    <title>Gerencia_CallCenter</title>
    <vendor>Blas Ltda</vendor>
    <homepage href="homepage.html"/>
    <description> </description>
    <icon href="default"/>
    <offline-allowed/>
    <shortcut online="true"/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources locale="" os="">
    <j2se href="http://java.sun.com/products/autodl/j2se" version="1.5+"/>
  </resources>
  <resources locale="" os="">
    <jar download="eager" href="dist/Gerencia_CallCenter.jar" main="false" version=""/>
  </resources>
<application-desc main-class="br.com.gerenciacallcenter.view.LoginForm"/>
</jnlp>
  <resources>
    <jar download="eager" href="lib/commons-beanutils-1.7.jar"/>
  </resources>
  <resources>
    <jar download="eager" href="lib/commons-collections-2.1.jar"/>
  </resources>
   <application-desc main-class="br.com.gerenciacallcenter.view.LoginForm"/>
</jnlp>

12 Respostas

O

http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html#jnlp

O seu codebase está errado. Tem que ser uma URL, e não um diretório.

B

Só que fiz um exemplo de um tuto do site do netbeans , e ele executa pelo netbeans com o codebase recebendo o caminho do diretorio. Funfa beleza!

Mas de qualquer forma coloquei a aplicação num Apache (já configurado) e mudei o codebase e agora no From mostra apenas http://localhost, como se ele não achasse o arquivo jnlp.

Desconfia de alguma coisa? Obrigado pela ajuda.

O

Uma coisa que eu notei depois é que este seu arquivo JNLP não está “well formed”, pois a tag é fechada duas vezes.

B

Cara, te peço desculpas. Tá assim porque eu não colei ele todo não porque ele tá dando 140 linhas, por causa das libs. Aí omiti várias referencias de libs, e acabei fazendo aquela cagada.

:oops: :oops: Foi mal :oops: :oops:

Mas o problema continua. Se desconfiar de alguma coisa, fala ae, por favor.

O

Para ver como é importante saber de todo o problema para resolvê-lo:

  • Eu não estava entendendo de onde vinha a mensagem que estava faltando uma tal de gnujaxp.jar, se o seu arquivo JNLP nem fazia referencia a tal lib.

[Critica construtiva]
Sempre tenha em mente que quem vai ler um post em um forum, não tem a menor idéia do conexto do seu trabalho, portanto qualquer omissão de informação pode levar a conclusões erradas.
[/Critica construtiva]

Já verificou se existe realmente um arquivo C:/Arquivos de programas/netbeans-5.5.1/src/GCC/lib/gnujaxp.jar ?
Este é o erro que o log está indicando.

Com relação ao codebase, você tem que colocar a “URL base” de onde vão ficar os arquivos indicados com o atributo href, ou seja, se você colocou codebase=http://localhost/, e você colocou , bla.jar tem que ser acessível através da URL http://localhost/lib/bla.jar

PS: não precisa de um por lib que você quer referenciar. Crie só um e ponha todos os dentro dele.

B

Caro oyama,

Mais uma vez peço desculpas. Seguindo suas sugestoes, verifiquei esse arquivo e o jarsigner não estava conseguindo abri-lo, mas enfim isso foi resolvido. Agora o jws abre a aplicação sem apresentar erro, faz o download da aplicação, mas nada aparece.

B

Caro oyama,

Mais uma vez peço desculpas. Seguindo suas sugestoes, verifiquei esse arquivo e o jarsigner não estava conseguindo abri-lo, mas enfim isso foi resolvido. Agora o jws abre a aplicação sem apresentar erro, faz o download da aplicação, mas nada aparece.

  • Obs: os .jar estão acessiveis
O

brunoblas:
Agora o jws abre a aplicação sem apresentar erro, faz o download da aplicação, mas nada aparece.

  • Obs: os .jar estão acessiveis

Você está testando no netbeans ou já fez deploy em um servidor e está acessando via browser?
No “Java Console” não aparece nenhum erro? Se não aparecer nenhum erro, tente coloque em nível de debug para capturar os erros.
br.com.gerenciacallcenter.view.LoginForm é a classe que contém o “main” da sua aplicação?

B

Você está testando no netbeans ou já fez deploy em um servidor e está acessando via browser?
No “Java Console” não aparece nenhum erro? Se não aparecer nenhum erro, tente coloque em nível de debug para capturar os erros.

Já fiz o deploy e estou acessando via browser. E em modo debug, também não captura nenhum erro.

Sim, é a classe que contém o main da aplicação.

O

Só para te dar um feedback: sem log com erros ou um trace do que está acontecendo vai ser difícil alguém te ajudar. A sua aplicação não gera nenhum log?

J

Preciso de Ajuda urgente: JWS

Quando abro o meu .html abro o .jnlp, aparece o erro “Unable to launch the aplication”

meu jnlp: o que será que tem de errado???

<?xml version="1.0" encoding="utf-8"?>


Teste do Java Web Start no .jnlp Jair Leonardo Valicheski - Desenvolvido para testes para Monografia Tutorial Java Web Start Tutorial JWS
O

[Pensando alto]Mais um tópico desenterrado…[/Pensando alto]

jmvalicheski

O mesma observação que eu mandei para o brunoblas vale para você.

Criado 25 de setembro de 2007
Ultima resposta 6 de fev. de 2009
Respostas 12
Participantes 3