5

Google Cloud Messaging (GCM) を使用して Instant Messaging アプリを作成する方法に関する Appsrox チュートリアルに従っています。違いは、Eclipse の代わりに Android Studio を使用していることと、ビルドの自動化にGradleを使用していることです。「src/main」フォルダ内に META-INF を配置しようとしましたが、Google App Engine から警告が表示されました。

警告: 現在のスレッドの CLASSPATH に META-INF/persistence.xml ファイルが見つかりませんでした!

EntityManager「persistence.xml」が見つからないため、初期化プロセス中にクラッシュします。

簡単な問題に対する簡単な答えを探しています: META-INF フォルダーはどこに置くのですか?

4

2 に答える 2

15

Gradle ベースのプロジェクトでは、「persistence.xml」を含む META-INF フォルダーを「/src/main/resources」に配置します。(Maven ベースのプロジェクトの場合も同様です)

標準ディレクトリ レイアウトの詳細については、こちらをご覧ください。

于 2015-04-03T12:13:15.303 に答える
4

@naXa が示唆したように、「/src/main/resources」がデフォルトの場所であり、通常はそこに配置する必要があります。しかし、何らかの理由でそれが実用的でない場合は、Gradle にそのことを伝えさえすれば、好きな場所に配置できます。たとえば、META-INF ディレクトリを「src/main/java」に配置する場合は、次のように記述できます。

// Allow resources to live in same directory as source code
sourceSets.main.resources.srcDirs += ["src/main/java"]
sourceSets.test.resources.srcDirs += ["src/test/java"]
于 2015-04-05T22:35:34.427 に答える