Dúvida com Web Start

9 respostas
erico_kl

Olá…
Estou estudando ainda a tecnologia java web start…
segundo sugerido em tutoriais, tenho meus arquivos da seguinte forma:
dentro da pasta webapps do tomcat tenho uma pasta fluxo contendo os arquivos: FluxoCaixa.jar, fluxo.jnlp, index.html

Arquivo fluxo.jnlp

<?xml version="1.0" encoding="utf-8"?>  
<jnlp  
  spec="1.0+"  
  codebase="http://localhost:8080/fluxo"  
  href="fluxo.jnlp">  
 
    <information>  
        <title>Java Web Start</title>  
        <vendor>SGCarro</vendor>  
        <homepage href="http://localhost:8080/fluxo/index.html"/>  
        <description>Tutorial Java Web Start</description>  
        <description kind="short">Tutorial JWS</description>  
        <icon href="images/logo.jpg"/> 
        <offline-allowed/> 
    </information> 
 
    <resources>  
        <j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/> 
     
        <jar href="FluxoCaixa.jar"/> 
 
        <property name="myProperty" value="Isso é um exemplo de propriedade"/> 
    </resources>  
    <jar href="FluxoCaixa.jar" main="true" download="eager"/> 
    <application-desc main-class="view.JFFluxoCaixa"/> 
</jnlp>

Arquivo index.html

<html> 
 
<head> 
    <title>Fluxo Caixa</title> 
</head> 
 
<SCRIPT LANGUAGE="VBScript">
on error resume next
If isIE = "true" Then
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled"))) Then
     javawsInstalled = 0
  Else
     javawsInstalled = 1
  End If
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.4.2.0"))) Then
     javaws142Installed = 0
  Else
     javaws142Installed = 1
  End If 
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.5.0.0"))) Then
     javaws150Installed = 0
  Else
     javaws150Installed = 1
  End If  
End If
</SCRIPT> 

<body> 
 
    <br> 
 
    <p align="center"><font face="tahoma" size="4"><b>Java Web Start</b></h1> 
 
    <p align="center"><img src="images/logo.jpg" border="0"/></p> 
 
    <p align="center"><font face="tahoma" size="2"> 
 
    <script> 
        insertLink("fluxo.jnlp", "Clique aqui para executar a aplicação"); 
    </script> 
</body> 
 
</html>

o problema é que quando eu abro esse index.html a referência para o arquivo .jnlp nao aparece… ou seja… o link “Clique aqui para executar a aplicação” nao é mostrado…
Obs: já tentei rodar pelo DOS também…
quando uso o comando “javaws fluxo.jnlp” ele gera esse erro:

An error occurred while launching/running the application.

Category: Invalid Argument error

Too many arguments supplied: {-splash, 58233, C:\Program Files\Java\jre1.6.0_07\lib\deploy\splash.jpg }

mas se eu executo o comando “javaws -Xnosplash fluxo.jnlp” ele carrega e abre a aplicacao corretamente…

fico grato pela ajuda…

9 Respostas

B

Ola,

Vc já verificou o tal script “insertlink”??? que tal troca-lo, inicialmente por um ???

erico_kl

ok… mas se eu trocar por aparecerá o arquivo .jnlp pra download…

B

Mas o arquivo jnlp tem que ser disponibilizado pra download e será executado pelo plugin javaws (que vem no JRE)… esta é a intenção… saca?

erico_kl

estranho… no exemplo que eu li o cara clicava no link e a aplicação já começava automaticamente…
se o arquivo é disponibilizado pra download o cara vai baxá e depois terá que executar o comando no DOS javaws arquivo.jnlp???

B

erico_kl:
estranho… no exemplo que eu li o cara clicava no link e a aplicação já começava automaticamente…
se o arquivo é disponibilizado pra download o cara vai baxá e depois terá que executar o comando no DOS javaws arquivo.jnlp???

Nao nao, quando ele baixar o arquivo jnlp, o browser ja vai perguntar se ele quer executar… quando executar o javaws vai automaticamente baixar os arquivos necessarios para executar… e dependendo da sua configuracao pode-se colocar ate um link no desktop do usuario…

http://www.jidesoft.com/products/download.htm -> neste link, que e de uma empresa que desenvolve componentes swing, tem uns exemplos… uma amostra gratis do produto deles, da uma olhada de como vai funcionar.

Vlw

erico_kl

valeu a ajuda…
entao quando aparecer o arquivo pra download ele simplesmente escolhe executar o arquivo e o javaws faz o processo todo automático…
eu ouvi também alguma coisa que eu teria que assinar meus .jar nesse jnlp… isso é correto… eu preciso assinar TODOS??
desde os .jar do banco etc? pq eu tenho um .jar gerado com todas as bibliotecas embutidas… mesmo assim seria necessário?
obrigado…

B

erico_kl:
valeu a ajuda…
entao quando aparecer o arquivo pra download ele simplesmente escolhe executar o arquivo e o javaws faz o processo todo automático…
eu ouvi também alguma coisa que eu teria que assinar meus .jar nesse jnlp… isso é correto… eu preciso assinar TODOS??
desde os .jar do banco etc? pq eu tenho um .jar gerado com todas as bibliotecas embutidas… mesmo assim seria necessário?
obrigado…

Vc precisará assinar os jars se vc for acessar algum recurso do hardware… mas se for só para a execução normal de um programa, sem salvar nada no hd, por exemplo, não precisa assinar nada não.

erico_kl

ah… blz…
e essa assinatura seria no arquivo .jnlp?? eu faria as referências para os .jar no .jnlp e pronto ou tem algo mais que eu precisaria fazer?

B

erico_kl:
ah… blz…
e essa assinatura seria no arquivo .jnlp?? eu faria as referências para os .jar no .jnlp e pronto ou tem algo mais que eu precisaria fazer?

A assinatura dos jars são feitas no build… faz uma busca no google sobre “assinar jar”, e faz uma busca tb sobre jarsigner… que é a ferramenta da propria JDK pra isto…

Criado 17 de março de 2009
Ultima resposta 20 de mar. de 2009
Respostas 9
Participantes 2