Seguinte, estou com uma aplicação desktop que é pra rodar com Java Web Start, porém quando eu executo a jnlp ele baixa o aplicativo na máquina cliente porém não executa, alguém sabe o que pode ser?
Todos os jars estão assinados corretamente, se eu executar o jar principal diretamente o sistema funciona normalmente. O problema está sendo na execução do .jnlp, baixa o aplicativo e não roda.
Tentei rodar no apache, sem nenhuma configuração adiconal, e no tomcat, mudando o server.xml pra conter a linha abaixo.
e aqui está o caminho para os jars da aplicação, como tudo foi construído com Mavens, ele joga todos os jars, inclusive o principal dentro de uma pasta lib
Poxa, será que ninguém no fórum trabalha/entende de web start? já é a segunda vez que poso uma dúvida sobre a tecnologia e aparece só um cara pra ajudar.
Cara eu não sei c vc já faz isso, mas de qualquer forma vale a dica, coloque este script na pagina sua
de instalação da aplicação para verificar se o JRE necessário está instalado nas estacoes:
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
if (deployJava.versionCheck('1.6+')) {
var url = "seuArquivo.jnlp";
deployJava.createWebStartLaunchButton(url, '1.6.0');
} else {
document.location.href="http://java.sun.com";
}
</script>
Este script usa o “Deployment Toolkit” bem bacana, auxilia muito na implantação de aplicações JWS,
mais detalhes acesse Este site tem um guia completo de utilização, espero que possa te ajudar.
Então, eu ainda não fiz a página pq não consigo nem fazer rodar, nem mesmo na minha máquina que está tudo atualizado quando eu executo o jnlp direto, ele baixa o sistema para a minha máquina mas não executa nada, e se eu executar o sistema direto, ele funciona, ou seja, o sistema TA funcionando, a JRE TA atualizada, o web start TA baixando só não está executando depois de baixar, isso que eu não sei como resolver.
só editei pra postar, na jnlp original está correto, só pra desencargo de consciência eu retirei a permissão, apenas para verificar, e o comportamento foi o mesmo, baixou o aplicativo mas não rodou.
Bom eu comparei seu jnlp com o jnlp de uma aplicação minha e notei que o valor do parâmetro espec da tag jnlp não está
com um valor adequado, pelo menos é o que diz q documentação
[quote]Value of the attribute can be 1.0, 1.5, or 6.0, or can use wildcards such as 1.0+. It denotes the minimum version of the JNLP Specification that this JNLP file can work with.[/quote] Neste site vc pode ver a documentação completa.
Experimente trocar por 6.0
Outra coisa, se puder, poste ai o código da sua classe principal, de repente a gente consegue identificar alguma coisa nela.
Tb coloque o código do jnlp na integra.
[quote=jokacwb]Bom eu comparei seu jnlp com o jnlp de uma aplicação minha e notei que o valor do parâmetro espec da tag jnlp não está
com um valor adequado, pelo menos é o que diz q documentação
[quote]Value of the attribute can be 1.0, 1.5, or 6.0, or can use wildcards such as 1.0+. It denotes the minimum version of the JNLP Specification that this JNLP file can work with.[/quote] Neste site vc pode ver a documentação completa.
Experimente trocar por 6.0
Outra coisa, se puder, poste ai o código da sua classe principal, de repente a gente consegue identificar alguma coisa nela.
Tb coloque o código do jnlp na integra.
[/quote]
tentei alterar, mas o comportamento é igual, baixa o aplicativo e não executa. O jnlp está postado na íntegra mais acima só estão com alguns nomes alterados devido a confidenciabilidade do código. Quanto a classe principal penso ser irrelevante, levando em conta que, sem ser pelo web start, a aplicação roda perfeitamente, o que me leva a crer que o problema não está na classe principal. Onde pode ter algo talvez seja no pom.xml por isso estão postando o pom na íntegra
eu não uso o maven, então não vou poder te ajudar neste quesito, mas vou acompanhar seu post estou prestes a por em produção uma aplicação jws e toda informação é importante.
Bom, com Maven, declara-se algumas dependencias diretas que o seu software necessita, e algumas outras vem como dependencias indiretas, pq são dependencias das dependencias que vc tem, porém, devido a esse tipo de declaração indireta, o plugin do Maven para JWS não as adiciona ao JNLP adicionando apenas as dependencias diretas, fazendo assim com que dê ClassNotFoundException.
Como eu descobri?
No menu Java do Painel de Controle, vc tem a aba Avançado -> Controle Java, basta Exibir Console e dessa forma vc terá um stack trace enquanto o seu software executa, foi dessa forma que eu vi os erros.
Como solucionei?
Bastou declaras todas as dependencias indiretas como diretas (eu uso netbeans, isso foi possível com apenas um clique com o botão direito sobre a lib, no diretório de projeto Dependencias).
Após executar novamente, o JWS funcionou perfeitamente, baixando, executando e funcionando tudo.
Valeu as dicas e ajuda pessoal, espero que esse tópico sane dúvidas de outros que vierem a usar essas tecnologias