2015-04-03 23 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"]