<div dir="ltr"><div style>Hola,</div><div style><br></div><div style>Estoy desarrollando un plugin que utiliza JPA para la conexión y persistencia de datos con Postgis.</div><div style>Comentar que uso la librería eclipselink.jar y javax.persistence_2.0.4<br>
</div><div style>Al principio me daba un error porque estas dos librerías tienen diversas clases con el mismo nombre. Pero las dos son necesarias, así que lo que hice fue "borrar" del eclipselink.jar estas clases duplicadas de forma que gvSig pudiera arrancar correctamente con las dos librerías. Probé el proyecto en un .jar independiente y me funciona, pero al probarlo dentro de gvSig me da el siguiente error (Remarcar que este fichero se "encuentra" dentro del .jar de mi extensión).</div>
<div><br></div><div>DEBUG [AWT-EventQueue-0] (NotificationManager.java:104) - Error no capturado por el usuario<br></div><div><div>javax.persistence.PersistenceException: No Persistence provider for EntityManager named conn</div>
<div><span style="white-space:pre-wrap">        </span>at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)</div><div><span style="white-space:pre-wrap">        </span>at org.gvsig.taGasNatural.asbuilt.util.Utils.getConnection(Utils.java:72)</div>
<div><span style="white-space:pre-wrap">        </span>at org.gvsig.taGasNatural.AsBuiltExtension.execute(AsBuiltExtension.java:35)</div></div><div><br></div><div style>"conn" es el nombre de la conexión espeficado dentro de persistence.xml:</div>
<div style><div><?xml version="1.0" encoding="UTF-8"?></div><div><persistence version="2.0" xmlns="<a href="http://java.sun.com/xml/ns/persistence">http://java.sun.com/xml/ns/persistence</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xsi:schemaLocation="<a href="http://java.sun.com/xml/ns/persistence">http://java.sun.com/xml/ns/persistence</a> <a href="http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd</a>"></div>
<div><span class="" style="white-space:pre">        </span><persistence-unit name="conn"></div><div> <span class="" style="white-space:pre">         </span><class>model.Node</class></div><div><span class="" style="white-space:pre">                </span><class>model.Pos2</class></div>
<div><span class="" style="white-space:pre">        </span></persistence-unit><br></div><div></persistence></div></div><div><br></div><div><div>Se produce el mismo mensaje de error tanto si (todo ello para probar que pasaba)<br>
</div><div>- No encuentra eclipselink.jar dentro de la carpeta lib de la extensión</div><div>- No encuentra persistence.xml (situado dentro de META-INF)</div><div>- Pongo expresamente mal el nombre de la conexión dentro de persistence.xml</div>
</div><div><br></div><div style>O sea que todo hace indicar que al no tratarse de un .jar "independiente", gvSig, o yo por desconocimiento claro, no sabe como leer el fichero persistence.xml situado en el .jar de mi extensión.</div>
<div style><br></div><div style>¿Alguien se ha encontrado con un caso parecido o sabe darme alguna indicación de como resolver este problema?</div><div style><br></div><div style>Gracias.</div>
</div>