2

ちょっとしたサイドプロジェクトでGAE+Scalaを使用して評価しようとしていますが、Datanucleusエンハンサーの問題を乗り越えることができないようです。

私のプロジェクトは、Scalaの性質を追加した基本的なGuestBookサンプルアプリケーションです。次に、文字列を取得し、それにいくつかのものを追加して、変更された文字列を返すメソッドを使用してScalaオブジェクトを追加しました。次に、動作するGuestBookの例を変更して、このScalaメソッドへの呼び出しを追加しました。これはすべて「HelloWorld」レベルのものです。

私の問題は、エンハンサーから次の例外が発生することです

DataNucleus Enhancer (version 1.1.4) : Enhancement of classes
Aug 31, 2011 9:38:35 PM org.datanucleus.metadata.MetaDataManager loadClasses
SEVERE: Class "guestbook.server.Slave$" was not found in the CLASSPATH. Please check your         specification and your CLASSPATH.
org.datanucleus.exceptions.ClassNotResolvedException: Class "guestbook.server.Slave$" 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.loadClasses(MetaDataManager.java:379)
    at     org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:743)
    at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:545)
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57    )
at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:60)
    at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)

DataNucleus Enhancer completed with success for 0 classes. Timings : input=237 ms,     enhance=0 ms, total=237 ms. Consult the log for full details
DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full     details

私はこれを調べて、エンハンサーのクラスパスにScala jarを追加することへの1つの参照を見ましたが、GAE用のGoogleのバージョンでこれを行う方法の指示はありません。Datanucleusが提供する指示は、GAEバージョンには存在しない設定を参照しています。

私は今少し途方に暮れています。このツールの組み合わせの初心者として私が見逃しているのは簡単なことであるに違いありませんが、それが何であるかはわかりません。

参考までに、Scala 2.9.0.1、GAE 1.5.2、およびEclipse IndigoビルドID:20110615-0604を実行しています。

4

2 に答える 2

1

最新の Scala プラグイン (2.0.0 ベータ 12) は、問題を複雑にしているように見えるクラスパス バリデーターを追加しました。datanucleus が scala-library.jar または scala クラスを見つけられなくなったようです。Indigo と以前のプラグインは以前は機能していましたが、「改良された」scala プラグインが自動的にパスに配置し、プロジェクトに配置できないため、クラスパスに scala-library.jar を配置できなくなりました。残念ながら、私は古いプラグインを見つけることができないので、Scala を放棄する時が来たと思います。Java 8 に C# のような最新の機能が含まれていることを願っています。Groovy、scala、過度に複雑な Web フレームワークを含める必要はありません。Web アプリケーションを作成するための多数のオーバーラップ機能を備えた 100 個のオープン ソース jar ファイルが含まれています。たぶんこれはJavaの終わりですか?

発散して申し訳ありません...別の土曜日は、何かをアップグレードした後、Javaベースのプロジェクトを機能させるのに無駄でした。

于 2011-11-06T16:05:59.180 に答える
0

DataNucleus エンハンサは単純な Java プロセスであり、「guestbook.server.Slave$」の入力をクラス名として渡すと、それを見つけようとして失敗します。(エンハンサーへの)入力がどこで間違っているかを調べます

于 2011-09-01T06:48:37.653 に答える