Stworzyłem projekt mechanizmu Google App Engine, wykorzystując projekt maven archetype z dostawcą JPO Datanucleus, zasadniczo zgodnie z dokumentacją silnika aplikacji Google.Gdzie sprawdzanie jednostek w wyszukiwarce Google wymaga pliku persistence.xml?
Wszystko działa poprawnie podczas uruchamiania testu "celowania" maven.
Teraz musiałem zintegrować projekt ze studiem Android i chciałem migrować skrypt kompilacji do gradle. Skopiowałem wszystkie zależności z pom.xml
do build.gradle
, a projekt jest w porządku. Jednak wszystkie testy uzyskujące dostęp do magazynu danych Google kończą się niepowodzeniem.
Podczas wyjścia testowego pojawia się następujący komunikat:
Ostrzeżenie: Nie META-INF/pliki persistence.xml znaleziono w CLASSPATH bieżącego wątku!
Sprawdziłem folder build
który jest tworzony podczas kompilacji, a nie folder zawiera persistence.xml
z src/main/webapp/WEB-INF/classes/META-INF
Korzystanie Maven, jednak jest prawidłowo umieścić w folderze target/myapp-1.0-SNAPSHOT/WEB-INF/classes/META-INF
.
Próbowałem skopiować persistence.xml
przy użyciu zadania gradle copy w różnych lokalizacjach, takich jak build/classes/META-INF
build/classes/webapp/WEB-INF/classes/META-INF
i tak dalej, ale nic nie działało.
Podczas gdy ja na pewno nie wiem wystarczająco dużo o gradle, itp., Aby ostatecznie odpowiedzieć na to, wszechmocny Goog dał mi [to SO pytanie] (http://stackoverflow.com/questions/1279060/jpa-with-toplink- no-meta-inf-persistence-xml-was-found-in-classpath), co może pomóc. – Becuzz
Dziękuję za wskazanie tego. Jednak mój projekt buduje grzywnę WAR. Plik persistence.xml został poprawnie umieszczony w folderze WEB-INF/classes/META-INF. To nie jest problem. Problem polega na tym, że podczas uruchamiania testów jednostkowych (gdzie nie buduje się WAR), plik persistence.xml należy umieścić * gdzieś *. Pytam o to gdzieś. – itchee
moje podejście byłoby umieścić 1 w każdym folderze, dopóki nie skończy :) Wydaje się, że chromy, ale okazał się skuteczny – deW1