Hi Anish, As far as I can read in the stack trace Caused by:
*java.lang.ClassNotFoundException: com.mysql.jdbc.Driver* The JDBC driver isn't in your classpath. Regards, On Wed, Jul 30, 2008 at 12:03 PM, Anish <[EMAIL PROTECTED]> wrote: > > Hey i have made a little test program using openjpa... this seemed to work > when i did it in windows but somehow doesent work in linux... i am > basically > trying to test openjpa with mysql... > > the code is as follows: > > Main.java > /* > * Licensed to the Apache Software Foundation (ASF) under one > * or more contributor license agreements. See the NOTICE file > * distributed with this work for additional information > * regarding copyright ownership. The ASF licenses this file > * to you under the Apache License, Version 2.0 (the > * "License"); you may not use this file except in compliance > * with the License. You may obtain a copy of the License at > * > * http://www.apache.org/licenses/LICENSE-2.0 > * > * Unless required by applicable law or agreed to in writing, > * software distributed under the License is distributed on an > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > * KIND, either express or implied. See the License for the > * specific language governing permissions and limitations > * under the License. > */ > package hellojpa; > > import java.util.*; > import javax.persistence.*; > > > /** > * A very simple, stand-alone program that stores a new entity in the > * database and then performs a query to retrieve it. > */ > public class Main { > > @SuppressWarnings("unchecked") > public static void main(String[] args) { > // Create a new EntityManagerFactory using the System properties. > // The "hellojpa" name will be used to configure based on the > // corresponding name in the META-INF/persistence.xml file > // EntityManagerFactory factory = Persistence. > EntityManagerFactory emf = > Persistence.createEntityManagerFactory("hellojpa"); > // Create a new EntityManager from the EntityManagerFactory. The > // EntityManager is the main object in the persistence API, and is > // used to create, delete, and query objects, as well as access > // the current transaction > > EntityManager em = emf.createEntityManager(); > // Begin a new local transaction so that we can persist a new entity > em.getTransaction().begin(); > > // Create and persist a new Message entity > em.persist(new Message("Hello Persistence!")); > > // Commit the transaction, which will cause the entity to > // be stored in the database > em.getTransaction().commit(); > > // It is always good practice to close the EntityManager so that > // resources are conserved. > em.close(); > > // Create a fresh, new EntityManager > EntityManager em2 = emf.createEntityManager(); > > // Perform a simple query for all the Message entities > Query q = em2.createQuery("select m from Message m"); > > // Go through each of the entities and print out each of their > // messages, as well as the date on which it was created > for (Message m : (List<Message>) q.getResultList()) { > System.out.println(m.getMessage() > + " (created on: " + m.getCreated() + ")"); > } > > // Again, it is always good to clean up after ourselves > em2.close(); > emf.close(); > } > } > > Message.java > /* > * Licensed to the Apache Software Foundation (ASF) under one > * or more contributor license agreements. See the NOTICE file > * distributed with this work for additional information > * regarding copyright ownership. The ASF licenses this file > * to you under the Apache License, Version 2.0 (the > * "License"); you may not use this file except in compliance > * with the License. You may obtain a copy of the License at > * > * http://www.apache.org/licenses/LICENSE-2.0 > * > * Unless required by applicable law or agreed to in writing, > * software distributed under the License is distributed on an > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > * KIND, either express or implied. See the License for the > * specific language governing permissions and limitations > * under the License. > */ > package hellojpa; > > import java.util.*; > import javax.persistence.*; > > > /** > * A very simple persistent entity that holds a "message", has a > * "created" field that is initialized to the time at which the > * object was created, and an id field that is initialized to the > * current time. > */ > @Entity > public class Message { > @Id > private long id = System.currentTimeMillis(); > > @Basic > private String message; > > @Basic > private Date created = new Date(); > > public Message() { > } > > public Message(String msg) { > message = msg; > } > > public void setId(long val) { > id = val; > } > > public long getId() { > return id; > } > > public void setMessage(String msg) { > message = msg; > } > > public String getMessage() { > return message; > } > > public void setCreated(Date date) { > created = date; > } > > public Date getCreated() { > return created; > } > } > > > persistence.xml > <?xml version="1.0" encoding="UTF-8"?> > <!-- > Licensed to the Apache Software Foundation (ASF) under one > or more contributor license agreements. See the NOTICE file > distributed with this work for additional information > regarding copyright ownership. The ASF licenses this file > to you under the Apache License, Version 2.0 (the > "License"); you may not use this file except in compliance > with the License. You may obtain a copy of the License at > > http://www.apache.org/licenses/LICENSE-2.0 > > Unless required by applicable law or agreed to in writing, > software distributed under the License is distributed on an > "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > KIND, either express or implied. See the License for the > specific language governing permissions and limitations > under the License. > --> > <persistence xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > version="1.0"> > > <!-- > We need to enumerate each persistent class first in the > persistence.xml > See: http://issues.apache.org/jira/browse/OPENJPA-78 > --> > <persistence-unit name="none" transaction-type="RESOURCE_LOCAL"> > <mapping-file>reversemapping/orm.xml</mapping-file> > <class>hellojpa.Message</class> > <class>relations.Deity</class> > </persistence-unit> > > <!-- > A persistence unit is a set of listed persistent entities as well > the configuration of an EntityManagerFactory. We configure each > example in a separate persistence-unit. > --> > <persistence-unit name="hellojpa" transaction-type="RESOURCE_LOCAL"> > <!-- > The default provider can be OpenJPA, or some other product. > This element is optional if OpenJPA is the only JPA provider > in the current classloading environment, but can be specified > in cases where there are multiple JPA implementations available. > --> > <!-- > <provider> > org.apache.openjpa.persistence.PersistenceProviderImpl > </provider> > --> > > <!-- We must enumerate each entity in the persistence unit --> > <class>hellojpa.Message</class> > > <properties> > <!-- > We can configure the default OpenJPA properties here. They > happen to be commented out here since the provided examples > all specify the values via System properties. > --> > > > <property name="openjpa.ConnectionURL" > value="jdbc:mysql://localhost:3306/jpa"/> > <property name="openjpa.ConnectionDriverName" > value="com.mysql.jdbc.Driver"/> > <property name="openjpa.ConnectionUserName" > value="root"/> > <property name="openjpa.ConnectionPassword" > value="admin"/> > > </properties> > </persistence-unit> > > <!-- persistence unit for the "relations" example --> > <persistence-unit name="relations" transaction-type="RESOURCE_LOCAL"> > <class>relations.Deity</class> > </persistence-unit> > > <!-- persistence unit for the "reversemapping" example --> > <persistence-unit name="reversemapping" > transaction-type="RESOURCE_LOCAL"> > <mapping-file>reversemapping/orm.xml</mapping-file> > </persistence-unit> > </persistence> > > > the stack trace... > [java] Exception in thread "main" <openjpa-1.1.0-r422266:657916 > nonfatal general error> > org.apache.openjpa.persistence.PersistenceException: > There were errors initializing your configuration: > <openjpa-1.1.0-r422266:657916 fatal store error> > org.apache.openjpa.util.StoreException: com.mysql.jdbc.Driver > [java] at > > org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:123) > [java] at > > org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776) > [java] at > > org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:683) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [java] at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [java] at java.lang.reflect.Method.invoke(Method.java:597) > [java] at > > org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:288) > [java] at > > org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1409) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183) > [java] at > > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) > [java] at hellojpa.Main.main(Main.java:44) > [java] Caused by: java.lang.ClassNotFoundException: > com.mysql.jdbc.Driver > [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > [java] at java.security.AccessController.doPrivileged(Native > Method) > [java] at > java.net.URLClassLoader.findClass(URLClassLoader.java:188) > [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > [java] at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) > [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > [java] at > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > [java] at java.lang.Class.forName0(Native Method) > [java] at java.lang.Class.forName(Class.java:169) > [java] at > > org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:85) > [java] ... 15 more > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196) > [java] at > > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) > [java] at hellojpa.Main.main(Main.java:44) > [java] Caused by: java.lang.RuntimeException: There were errors > initializing your configuration: <openjpa-1.1.0-r422266:657916 fatal store > error> org.apache.openjpa.util.StoreException: com.mysql.jdbc.Driver > [java] at > > org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:123) > [java] at > > org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776) > [java] at > > org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:683) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [java] at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [java] at java.lang.reflect.Method.invoke(Method.java:597) > [java] at > > org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:288) > [java] at > > org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1409) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183) > [java] at > > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145) > [java] at > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) > [java] at hellojpa.Main.main(Main.java:44) > [java] Caused by: java.lang.ClassNotFoundException: > com.mysql.jdbc.Driver > [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > [java] at java.security.AccessController.doPrivileged(Native > Method) > [java] at > java.net.URLClassLoader.findClass(URLClassLoader.java:188) > [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > [java] at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) > [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > [java] at > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > [java] at java.lang.Class.forName0(Native Method) > [java] at java.lang.Class.forName(Class.java:169) > [java] at > > org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:85) > [java] ... 15 more > [java] at > > org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:302) > [java] at > > org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1409) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646) > [java] at > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183) > [java] ... 5 more > > Can any one tell me why i am getting this error? or what it means? and how > to fix it... > > -- > View this message in context: > http://n2.nabble.com/%3Copenjpa-1.1.0-r422266%3A657916-nonfatal-general-error%3E------tp642040p642040.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. > >
