[Gvsig_desarrolladores] Problemas con las DLL con java web start

César Martínez Izquierdo cesar.martinez en iver.es
Mie Oct 24 12:57:02 CEST 2007


mangeles.merino en telvent.abengoa.com escribió:
> 
> Hola a todos
> 
> Estoy usando java web start para ejecutar gvSig, pero tengo un problema 
> con las dll de windows.
> Mi jnlp es el siguiente:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <!-- JNLP File for SimpleExample Application -->
>   <jnlp
>   codebase="http://pt-340397:8181/gvSig1_0" href="gvSig1_0.jnlp">
>     <information>
>        <title>Aplicacion gvSig</title>
>        <vendor>gvSig</vendor>
>        <description>Aplicacion gvSig</description>
>        <description kind="short">Aplicacion gvSig</description>
>        <offline-allowed/>
>      </information>
>  <security>
>        <all-permissions/>
>      </security>    
>     <resources>
>    <j2se version="1.4+"        initial-heap-size="256m" 
> max-heap-size="512m"/>
>        <jar href="andami.jar"/>
>        <jar href="lib/beans.jar"/>
>        ......
> 
>    </resources>
>        
>         <property key="java.library.path" value="$USER_HOME/gvSig/w32" />
>                        
>       <application-desc main-class="com.iver.andami.Launcher">        
>              <argument>gvSig</argument>
>              <argument>/gvSig1.0/extensiones</argument>
>      </application-desc>
> </jnlp>
> 
> Se me descarga todo perfectamente y las dll estan en 
> $USER_HOME/gvSig/w32, y se ejecuta bien gvSig excepto cuando intento 
> conectarme por ejemplo a un servicio WMS que a la hora de pintar me da 
> el siguiente error:
> 
> java.lang.UnsatisfiedLinkError: no jgdal060 in java.library.path
> 
> Con lo cual no encuentra esa dll,por lo que la ruta 
> "$USER_HOME/gvSig/w32" no esta realmente en java.library.path. ¿Como 
> puedo hacer para que esa ruta este realmente en java.library.path al 
> ejecutar gvSig?
> 
> Tambien he intentando meter las dll en un jar y ponerlo como nativelib 
> pero tampoco funciona con este jnlp:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <!-- JNLP File for SimpleExample Application -->
>   <jnlp
>   codebase="http://pt-340397:8181/gvSig1_0" href="gvSig1_0.jnlp">
>     <information>
>        <title>Aplicacion gvSig</title>
>        <vendor>gvSig</vendor>
>        <description>Aplicacion gvSig</description>
>        <description kind="short">Aplicacion gvSig</description>
>        <offline-allowed/>
>      </information>
>  <security>
>        <all-permissions/>
>      </security>    
>     <resources>
>    <j2se version="1.4+"        initial-heap-size="256m" 
> max-heap-size="512m"/>
>        <jar href="andami.jar"/>
>        <jar href="lib/beans.jar"/>
>        .....
> </resources>
> 
> <resources os="Windows">
>  <j2se version="1.4+"/>
>           <nativelib href="libdll.jar"/>
>   </resources>
>        
>        
>         <property key="java.library.path" value="." />
>                        
>       <application-desc main-class="com.iver.andami.Launcher">        
>              <argument>gvSig</argument>
>              <argument>/gvSig1.0/extensiones</argument>
>      </application-desc>
> </jnlp>
> 
> ¿Alguna idea?
> 
> Un saludo.
> Mª Ángeles Merino Paredes
> División Tecnologías/GIS
> Tel: +(34) 954938939 Ext: 34417
> mangeles.merino en telvent.abengoa.com 	Telvent Interactiva S.A.
> Sevilla
> Tamarguillo, 29
> 41006 Sevilla (España)
>  

Hola Mª Ángeles. Yo no encontré ninguna forma de que Java cargase 
correctamente las DLLs con Java Web Start usando los métodos que Java 
Web Start propone, parece que ninguno de ellos está realmente 
implementado. Al menos yo no fui capaz de hacerlo.

La única forma que funciona es crear un lanzador que establezca el 
%PATH% a una ruta en la que tengas esas DLLs, y a continuación lanzar 
Java Web Start.
Otra opción es que el lanzador descargue las DLLs en el directorio "bin" 
de la máquina virutal (con lo cual están incluidas en la ruta de carga 
de librerías), y a continuación lance gvSIG. En ambos casos habrás de 
crear un lanzador que realice una u otra acción.

Creo que Mª José, que también estuvo trabajando con esto en Telvent, 
llegó a una solución similar.

Saludos,

-- 
César Martínez Izquierdo
Equipo de desarrollo gvSIG
http://www.gvsig.gva.es

IVER T.I.
C/ Salamanca 50
46005 Valencia - Spain
http://www.iver.es


Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.



Más información sobre la lista de distribución gvSIG_desarrolladores