1.Eclipseでプロジェクト名を変更した場合は作業ディレクトリも変更する
2.Systemプロパティはappengine-web.xmlに記述する
3.DataNucleus Enhancerでエンハンスされているか常に気にしておく
4.LocalのDataStoreは掃除する
5.Localでは実行できるのにサーバにDeployできない場合はサーバのデータをClean upする
6.Logを参照することでサーバ上の動作確認をする
loginnew = (Login) mapper.fromJSON(req.getParameter("json"));
JdoUtils.insert(loginnew);
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Content {
・・・
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
・・・
}
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Content {
・・・
@Persistent
private Login login;
・・・
}
1.Making XStream compatible with the Google App Engineを参考に、NoClassDefFoundErrorやExceptionInInitializerErrorをcatchして握りつぶす行を追加。
try {
registerConverter(new PropertiesConverter(), PRIORITY_NORMAL);
} catch (NoClassDefFoundError e) {
} catch (ExceptionInInitializerError e) {
}
2.sun.reflect.ReflectionFactoryを使ったクラスSun14ReflectionProvider.javaからPureJavaReflectionProvider.javaを使うように変更
3.一旦、JDOに保存されたものを取り出すと、java.util.ArrayListオブジェクトがorg.datanucleus.sco.backed.Listに勝手に変わるのでinstance ofが使えない。これはクラス名を指定することで使えるように修正した。
技術ネタなど