我应该把 META-INF 放在 Gradle 的什么地方?

Where do I put META-INF in Gradle?

我正在学习如何 Create an Instant Messaging app using Google Cloud Messaging (GCM). The differences are that I use Android Studio instead of Eclipse, and Gradle 构建自动化的 Appsrox 教程。我试图将 META-INF 放入 'src/main' 文件夹,但我收到了来自 Google App Engine 的警告:

Warning:No META-INF/persistence.xml files were found in the CLASSPATH of the current thread!

EntityManager 在初始化过程中崩溃,导致找不到 'persistence.xml'.

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

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

查找有关标准目录布局的更多信息here

正如@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"]