2015-04-03 201 views
4

我正在关注如何Create an Instant Messaging app using Google Cloud Messaging (GCM)的Appsrox教程。不同之处在于我使用Android Studio代替Eclipse,并且使用Gradle进行构建自动化。我试图把META-INF放在'src/main'文件夹中,但我收到了Google App Engine的警告:我在哪里把META-INF放在Gradle中?

警告:在CLASSPATH中找不到META-INF/persistence.xml文件当前线程!

EntityManager在初始化过程中崩溃,导致它无法找到'persistence.xml'。

我正在寻找一个简单的答案,应该是一个简单的问题:我在哪里放META-INF文件夹?

+1

的可能重复[哪里谷歌应用程序引擎gradle这个单元测试期望的persistence.xml? ](http://stackoverflow.com/questions/29230881/where-do-gradle-unit-tests-for-google-app-engine-expect-persistence-xml) – JonasCz 2015-04-03 12:45:07

回答

12

在基于Gradle的项目中,在'/ src/main/resources'中放置包含'persistence.xml'的META-INF文件夹。 (对于基于Maven的项目也是如此)

查找更多关于Standart Directory Layout here的信息。

2

由于@naXa建议,'/ src/main/resources'是默认位置,您通常应该放在那里。但是如果由于某种原因,这是不实际的,只要你告诉Gradle它可以放在任何你想要的地方。例如,如果你想放到'的src/main/Java的的META-INF目录下,你可以写:

// Allow resources to live in same directory as source code 
sourceSets.main.resources.srcDirs += ["src/main/java"] 
sourceSets.test.resources.srcDirs += ["src/test/java"]