5

我正在关注有关如何使用 Google Cloud Messaging (GCM) 创建即时消息应用程序的 Appsrox 教程。不同之处在于我使用 Android Studio 而不是 Eclipse,并使用Gradle进行构建自动化。我试图将 META-INF 放在 'src/main' 文件夹中,但我收到了来自 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 回答