Using 1.2.2
This is kind of weird... I was developing my application and then all
of a sudden I get this error. Everything was working fine, then
datanucleus says it can't find the Cow class. The class is in WEB-INF/
classes. But it looks like datanucleus' classloader is trying to load
it, not sure why. I included the stacktrace and the class.
If you have ideas what I can try, please let me know!
Sep 3, 2009 2:12:48 PM com.google.apphosting.utils.jetty.JettyLogger
warn
WARNING: Nested in
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'userServiceImpl': Injection of persistence
fields failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'data.emf' defined in class path resource [at/
hadoken/wizzywig/applicationContext.xml]: Invocation of init method
failed; nested exception is javax.persistence.PersistenceException:
Provider error. Provider:
org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider:
Class "at.hadoken.wizzywig.client.desktop.Cow" was not found in the
CLASSPATH. Please check your specification and your CLASSPATH.
org.datanucleus.exceptions.ClassNotResolvedException: Class
"at.hadoken.wizzywig.client.desktop.Cow" was not found in the
CLASSPATH. Please check your specification and your CLASSPATH.
at org.datanucleus.JDOClassLoaderResolver.classForName
(JDOClassLoaderResolver.java:250)
at org.datanucleus.JDOClassLoaderResolver.classForName
(JDOClassLoaderResolver.java:415)
at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit
(MetaDataManager.java:767)
at org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF
(EntityManagerFactoryImpl.java:488)
at org.datanucleus.jpa.EntityManagerFactoryImpl.<init>
(EntityManagerFactoryImpl.java:355)
at
org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.<init>
(DatastoreEntityManagerFactory.java:63)
at
org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory
(DatastorePersistenceProvider.java:35)
at javax.persistence.Persistence.createFactory(Persistence.java:172)
at javax.persistence.Persistence.createEntityManagerFactory
(Persistence.java:112)
at
org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory
(LocalEntityManagerFactoryBean.java:91)
at
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet
(AbstractEntityManagerFactoryBean.java:291)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
(AbstractAutowireCapableBeanFactory.java:1369)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
(AbstractAutowireCapableBeanFactory.java:1335)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
(AbstractAutowireCapableBeanFactory.java:473)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean
(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:164)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory
(PersistenceAnnotationBeanPostProcessor.java:507)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory
(PersistenceAnnotationBeanPostProcessor.java:473)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor
$PersistenceElement.resolveEntityManager
(PersistenceAnnotationBeanPostProcessor.java:599)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor
$PersistenceElement.getResourceToInject
(PersistenceAnnotationBeanPostProcessor.java:570)
at org.springframework.beans.factory.annotation.InjectionMetadata
$InjectedElement.inject(InjectionMetadata.java:180)
at
org.springframework.beans.factory.annotation.InjectionMetadata.injectFields
(InjectionMetadata.java:105)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessAfterInstantiation
(PersistenceAnnotationBeanPostProcessor.java:308)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean
(AbstractAutowireCapableBeanFactory.java:959)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
(AbstractAutowireCapableBeanFactory.java:472)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean
(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
(DefaultListableBeanFactory.java:429)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization
(AbstractApplicationContext.java:728)
at
org.springframework.context.support.AbstractApplicationContext.refresh
(AbstractApplicationContext.java:380)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext
(ContextLoader.java:255)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext
(ContextLoader.java:199)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized
(ContextLoaderListener.java:45)
at org.mortbay.jetty.handler.ContextHandler.startContext
(ContextHandler.java:530)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1218)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
448)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:117)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:217)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at
com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:152)
at
com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:116)
at com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:218)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start
(AppEngineLauncher.java:86)
at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:386)
at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:597)
at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:403)
at com.google.gwt.dev.HostedMode.main(HostedMode.java:247)
package at.hadoken.wizzywig.client.desktop;
import com.allen_sauer.gwt.dnd.client.HasDragHandle;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.Widget;
public class Cow extends AbsolutePanel implements HasDragHandle {
private FocusPanel shim = new FocusPanel();
private final Widget widget;
/**
* Default constructor to wrap the provided widget.
*
* @param widget
* the widget to be wrapped
*/
public Cow(Widget widget) {
this.widget = widget;
add(widget);
// Add some CSS styling
addStyleName("demo-PaletteWidget");
widget.addStyleName("demo-PaletteWidget-widget");
shim.addStyleName("demo-PaletteWidget-shim");
}
public Cow cloneWidget() {
Widget clone;
// Clone our internal widget
if (widget instanceof Label) {
Label label = (Label) widget;
clone = new Label(label.getText());
} else if (widget instanceof RadioButton) {
RadioButton radioButton = (RadioButton) widget;
clone = new RadioButton(radioButton.getName(),
radioButton
.getHTML(), true);
} else if (widget instanceof CheckBox) {
CheckBox checkBox = (CheckBox) widget;
clone = new CheckBox(checkBox.getHTML(), true);
} else {
throw new IllegalStateException("Unhandled Widget class
"
+ widget.getClass().getName());
}
// Copy a few obvious common widget properties
clone.setStyleName(widget.getStyleName());
clone.setTitle(widget.getTitle());
// Wrap the cloned widget in a new PaletteWidget instance
return new Cow(clone);
}
public Widget getDragHandle() {
return shim;
}
/**
* Let shim size match our size.
*
* @param width
* the desired pixel width
* @param height
* the desired pixel height
*/
@Override
public void setPixelSize(int width, int height) {
super.setPixelSize(width, height);
shim.setPixelSize(width, height);
}
/**
* Let shim size match our size.
*
* @param width
* the desire CSS width
* @param height
* the desired CSS height
*/
@Override
public void setSize(String width, String height) {
super.setSize(width, height);
shim.setSize(width, height);
}
/**
* Adjust the shim size and attach once our widget dimensions are
known.
*/
@Override
protected void onLoad() {
super.onLoad();
shim.setPixelSize(getOffsetWidth(), getOffsetHeight());
add(shim, 0, 0);
}
/**
* Remove the shim to allow the widget to size itself when
reattached.
*/
@Override
protected void onUnload() {
super.onUnload();
shim.removeFromParent();
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---