我在哪里将META-INF放入Gradle?

时间:2015-04-03 12:13:15

标签: java gradle project-structure meta-inf

我正在关注如何Create an Instant Messaging app using 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文件夹?

2 个答案:

答案 0 :(得分:13)

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

详细了解标准目录布局here

答案 1 :(得分:3)

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