Java Web Start - Carregando bibliotecas

3 respostas
viniciusmayer

Olá Srs,

Além da seguinte linha, quais outras informações preciso passar para que sejam carregadas com sucesso as biblitecas que o meu aplicativo necessita para rodar?

<nativelib href="lib/jnlp.jar"/>

O JWS acusa que precisa acesso irrestrito ao sistema... O que isso significa?!?! Acesso irrestrito às bibliotecas? Acesso irrestrito ao quê?!?

Exception
JNLPException[category: Security Error : Exception: null : LaunchDesc: null ]
	at com.sun.javaws.LaunchDownload.checkJNLPSecurity(LaunchDownload.java:763)
	at com.sun.javaws.Launcher.downloadResources(Launcher.java:1011)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:375)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)
Arquivo carregado
<?xml version="1.0" encoding="utf-8"?>
<jnlp
  spec="1.0+"
  codebase="http://localhost:8080/gabrielus"
  href="gabrielus.jnlp">
  <information>
    <title>Gabrielus</title>
    <vendor>E. Vinicius D. Mayer & Andre S. Lemos</vendor>
    <homepage href="http://localhost:8080/gabrielus/index.html"/>
    <description>Gabrielus - DataFlow Diagrams Editor</description>
    <description kynd="short">Gabrielus DataFlow Editor</description>
    <icon href="/images/gabrielus.png"/>
    <offline-allowed/>
  </information>  
  <resources>
    <j2se version="1.5+"/>
    <jar href="Gabrielus.jar"/>
    <property name="propriedade" value="exemplo de propriedade"/>
    <nativelib href="lib/jnlp.jar"/>
  </resources>
  <application-desc main-class="br.com.viniciusmayer.gabrielus.editor.DataFlowEditor"/>
</jnlp>
General
An error occurred while launching/running the application.

Title: Gabrielus
Vendor: E. Vinicius D. Mayer & Andre S. Lemos
Category: Security Error

Use of native libraries requires unrestricted access to system

E, aproveitando a deixa, qual link que coloco no lugar de "???" para que se puxe o JRE?
[code][/code
]

Fico grato desde já pela atenção.

Um abraço,
E. Vinicius D. Mayer

3 Respostas

viniciusmayer

Boa Tarde Srs,

Eu não sei se esse assunto é muito “básico”, e eu estou pedindo ajuda no fórum errado; ou é uma coisa complicada mesmo e ninguém passou por isso ainda, por isso não estão conseguindo me ajudar, mas…

Olha só o que eu descobri olhando uns outros projetos que tive acesso, os jars que tenho na library devem ser assinados!

A única coisa que consegui descobrir foi isso… Alguém, a partir disso, consegue me dizer alguma coisa? Tipo, os jars que eu tenho na minha aplicação, rodando a partir do TomCat (por enquanto) são “jars” gerados pelo próprio NetBeans!

A minha pergunta é, como é que “assino” os jars?!?! Isso é, de fato, necessário?!?! Como é que funciona este esquema de “assinar os jars”?!?!!

No mais, fico grato desde já pela atenção e tempo dedicado!

Abraço,
E. Vinicius D. Mayer

viniciusmayer

Esta resolvido o problema com a carga das bibliotecas que preciso para que rode a minha aplicação a partir do Java Web Start… O arquivo .jnlp ficou assim:

arquivo.jnlp

<?xml version="1.0" encoding="utf-8"?>
<jnlp
  spec="1.0+"
  codebase="http://localhost:8080/gabrielus"
  href="gabrielus.jnlp">
  <information>
    <title>Gabrielus</title>
    <vendor>E. Vinicius D. Mayer & Andre S. Lemos</vendor>
    <homepage href="http://localhost:8080/gabrielus/index.html"/>
    <description>Gabrielus - DataFlow Diagrams Editor</description>
    <description kynd="short">Gabrielus DataFlow Editor</description>
    <icon href="images/gabrielus.png"/>
    <offline-allowed/>
  </information>  
  <resources>
    <j2se version="1.5+"/>
    <jar href="Gabrielus.jar" main="true"/>
    <property name="propriedade" value="exemplo de propriedade"/>
    <jar href="lib/jnlp.jar"/>
  </resources>
  <application-desc main-class="br.com.viniciusmayer.gabrielus.editor.DataFlowEditor"/>
</jnlp>

A diferença entre este arquivos que postei agora e o que postei anteriormente é a seguinte:

Arquivo anteior:

...
     <jar href="Gabrielus.jar"/>
     <property name="propriedade" value="exemplo de propriedade"/>
     <nativelib href="lib/jnlp.jar"/>
...

Arquivos atual:

...
    <jar href="Gabrielus.jar" main="true"/>
    <property name="propriedade" value="exemplo de propriedade"/>
    <jar href="lib/jnlp.jar"/>
...

Só não vou explicar o pq das coisas agora pelo seguinte, ainda não tenho certeza do que realmente faz a tal de tag nativelib… Mas assim que tiver a resposta, publico aqui novo post a respeito.

Bueno, agradeço a atenção de todos que dedicaram algum tempo lendo estes posts!

Um abraço,
E. Vinicius D. Mayer

smota

nativelib é para carregar bibliotecas do SO. (dll no windows, so em unixs em geral)

Para poder user o JWS exige que você peça permissão através da diretiva security para o usuário aumentando o nível de acesso ao cliente.

Uma lida no Developer Guide esclarece as opções e suas propriedade.

Essa FAQ também pode ajudar: http://lopica.sourceforge.net/faq.html#native

Criado 23 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 3
Participantes 2