Ho difficoltà a far funzionare correttamente Datanucleus 2 con l'ottimizzazione delle classi su GAE 1.7.0 in Eclipse utilizzando il plug-in Datanucleus. Questo ha funzionato bene nelle vecchie versioni di GAE in cui avrei seguito le fasi manuali qui:Datanucleus con enhancer errato in Google App Engine 1.7
http://www.datanucleus.org/products/accessplatform/guides/eclipse/index.html
Ma dal momento che l'aggiornamento, GAE ora include queste librerie (versioni più recenti di loro sembra che), e anche GAE ha un nuovo flag "enhancer" che puoi impostare. Non riesco comunque a trovare comunque questa bandiera in Eclipse. Sembra che GAE è ancora compreso il libs v1 quando voglio le librerie V2 e DataNucleus sta avendo i conflitti in base a questo errore:
Jul 1, 2012 5:59:55 PM org.datanucleus.enhancer.DataNucleusEnhancer <init>
INFO: DataNucleus Enhancer : Using ClassEnhancer "ASM" for API "JPA"
Exception in thread "main" java.lang.NoSuchFieldError: NUCLEUS_CONTEXT_LOADER
at org.datanucleus.NucleusContext.<clinit>(NucleusContext.java:73)
at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:171)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1265)
Ho provato molte cose diverse. Ho provato a utilizzare tutti i valori predefiniti. Ho provato ad aggiungere le librerie v2 alle voci del percorso di classe di runtime Datanucleus. Ho provato a cancellare le librerie v1 nell'SDK di GAE 1.7.0 sia in src che in libs. Ma in qualche modo GAE sta ancora tirando le somme (o cercando di scavalcare le librerie V1. Ho anche provato il vecchio metodo di configurare manualmente la configurazione come specificato dal link qui sopra.E 'un po' frustrante come sembra che io sia ora in una situazione in cui non posso usare queste librerie, almeno con le versioni precedenti di GAE, potrei impostarlo manualmente per funzionare.Niente sembra funzionare ora.Tutti i suggerimenti?
Che "DataNucleus 2"? DataNucleus è attualmente alla versione 3.0 e 3.1. Il plug-in di Google è alla v 2.0.1.1 (utilizzando DataNucleus v3.0.x) – DataNucleus
Ahh right. Sì, la versione di DataNucleus inclusa è v3.0.x. Sono stato in grado di farlo funzionare cancellando manualmente le librerie v1 da src e lib in GAE versione 1.7.0 in modo che GAE smettesse di provare a metterle in WEB-INF/lib. Stavo ottenendo conflitti con entrambe le librerie DataNucleus v3 e v1 sul classpath. GAE afferma che è possibile aggiungere un flag enhancer per indicare quali versioni utilizzare, ma non riesco a vedere come usare quel flag con Eclipse per impedirgli di copiare quelle librerie. Quindi la soluzione sembra funzionare per me. Non è l'ideale, ma funzionerà. – DavidB
@DataNucleus Quando sfoglio la cartella appengine 1.7, i vasi Datanucleus sono datanucleus-core-1.1.5.jar, datanucleus-jpa-1.1.5, ecc. Cosa intendi per plugin Google utilizzando Datanucleus v3.0.x? – xybrek