Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-users] Nullpointer Exception trying to execute eclipselink-2.0.0

Hello.

I'm having some troubles when I tried to use eclipselink-2.0.0 with eclipse
WTP.

Eclipselink is sending to me this exception:

Exception in thread "main" java.lang.NoClassDefFoundError:
javax/resource/ResourceException
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at
org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(PrivilegedAccessHelper.java:88)
	at
org.eclipse.persistence.sessions.DefaultConnector.loadDriverClass(DefaultConnector.java:253)
	at
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:85)
	at
org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
	at
org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:584)
	at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228)
	at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:368)
	at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151)
	at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
	at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195)
	at Persona.guardar(Persona.java:63)
	at Persona.main(Persona.java:89)
Caused by: java.lang.ClassNotFoundException:
javax.resource.ResourceException
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

I create a simple JPA project and add these jars to the build path:
eclipselink-2.0.0.jar
javax.persistence-2.0.0.jar
jaybird-2.1.6jdk16.jar

My persistence.xml is this:

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd";
        version="2.0" xmlns="http://java.sun.com/xml/ns/persistence";>
	<persistence-unit name="prueba_eclipselink"
transaction-type="RESOURCE_LOCAL">
	<class>Persona</class>
	<properties>
			<property name="javax.persistence.jdbc.driver"
value="org.firebirdsql.jdbc.FBDriver" />
			<property name="javax.persistence.jdbc.url"
				value="jdbc:firebirdsql:localhost/3050:/var/dbs/prueba_firebird.fdb" />
			<property name="javax.persistence.jdbc.user" value="sysdba" />
			<property name="javax.persistence.jdbc.password" value="masterkey" />
			<property name="eclipselink.ddl-generation" value="create-tables" />
			<property name="eclipselink.logging.level" value="ALL" />
		</properties>
	</persistence-unit>
</persistence>

My test class is this:

import java.io.Serializable;
import java.lang.String;
import javax.persistence.*;

/**
 * Entity implementation class for Entity: Persona
 *
 */
@Entity
public class Persona implements Serializable {

	@Id
	@GeneratedValue
	private int id;
	private String nombre;
	private String direccion;
	private static final long serialVersionUID = 1L;
	@Transient
	protected EntityManager em;
	@Transient
	protected static final String PERSISTENCE_UNIT_NAME = "prueba_eclipselink";
	@Transient
	protected static EntityManagerFactory factory = Persistence
	.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);


	public Persona() {
		super();
	}   
	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}   
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}   
	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public Persona(int id, String nombre, String direccion) {
		super();
		this.id = id;
		this.nombre = nombre;
		this.direccion = direccion;
	}
	public boolean guardar(){
		boolean res = false;
		try {
			em = factory.createEntityManager();
			em.getTransaction().begin();
			if (id == 0) {
				em.persist(this);
			}
			else {
				em.merge(this);
			}
			em.getTransaction().commit();
			res = true;
		}
		catch (Exception e) {
			e.printStackTrace();
			res = false;
		}
		finally{
			if(em !=null){
				em.close();
			}
		}
		return res;
	}
        public static void main(String[] args) {
		Persona persona = new Persona();
		persona.setNombre("jose");
		persona.setDireccion("rio gambia");
		assertTrue(persona.guardar());
	}
}

-- 
View this message in context: http://old.nabble.com/Nullpointer-Exception-trying-to-execute-eclipselink-2.0.0-tp26976482p26976482.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top