首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌应用引擎ClassNotPersistenceCapableException

谷歌应用引擎ClassNotPersistenceCapableException
EN

Stack Overflow用户
提问于 2010-04-24 03:49:48
回答 3查看 2.6K关注 0票数 0

我有以下类:

代码语言:javascript
复制
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.*;

@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class PayPal_Message
{
  @PrimaryKey
  @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
  private Long id;
  @Persistent
  private Text content;
  @Persistent
  private String time;

  public PayPal_Message(Text content,String time)
  {
    this.content=content;
    this.time=time;
  }

  public Long getId() { return id; }
  public Text getContent() { return content; }
  public String getTime() { return time; }
  public void setContent(Text content) { this.content=content; }
  public void setTime(String time) { this.time=time; }
}

它曾经在一个包中,并且运行良好,现在我将所有类都放在默认包中,这导致了这个错误:

org.datanucleus.jdo.exceptions.ClassNotPersistenceCapableException:类“类"PayPal_Message”不可持久。这意味着它尚未增强,或者文件的增强版本不在类中(或者被非增强版本隐藏),或者找不到该类的元数据/批注。“是不可持久的。这意味着它没有得到增强,或者文件的增强版本不在CLASSPATH中(或者被非增强版本隐藏),或者找不到类的元数据。NestedThrowables: org.datanucleus.exceptions.ClassNotPersistableException:类"PayPal_Message“不可持久化。这意味着它没有得到增强,或者文件的增强版本不在CLASSPATH中(或者被非增强版本隐藏),或者找不到类的元数据/注释。

我该怎么做才能修复它呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-28 06:17:04

说明:默认包中的类对于包中的类是不可见/不可导入的。

尝试以下示例:

代码语言:javascript
复制
public class Entity {}

(因此没有包!)和

代码语言:javascript
复制
package persistence;

public class EntityManager {
    public static void main(String... args) {
        Entity entity = new Entity();
    }
}

它起作用了吗?不是吗?您将如何导入它?这就是发生在幕后的问题!

票数 0
EN

Stack Overflow用户

发布于 2010-04-24 04:00:58

我有时会因为无法辨别的原因而得到这些例外。

在persistent类中的某个地方添加一个空格并重新构建,在过去我已经修复了它。不知道为什么会发生这种情况,也不知道为什么重建会修复它,但至少值得一试。

票数 0
EN

Stack Overflow用户

发布于 2010-04-28 03:52:33

我最终将它们放回了包中,现在它工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2701565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档