2012-04-03 7 views
15

Używam samouczka Kundera pod numerem https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes. Eclipse nie znajduje go, gdy utworzę folder META-INF w katalogu głównym projektu i umieszczę w nim plik persistence.xml.Gdzie umieścić META-INF w Eclipse?

Zrobiłem szybkie wyszukiwanie i nie było żadnego realnego rozwiązania.

Nie ma uzasadnionego powodu, dla którego prosta ścieżka do pliku powinna być trudna do skonfigurowania. Szukam prostej odpowiedzi na pytanie, co powinno być prostym problemem.

Odpowiedz

26

Nie powinien znajdować się w katalogu głównym projektu, ale bezpośrednio w folderze źródłowym.

W czasie wykonywania plik persistence.xml jest przeszukiwany w ścieżce klas, w obszarze META-INF. Jeśli chcesz, aby folder META-INF był umieszczony na górze skompilowanego drzewa pakietów, musisz umieścić go na górze drzewa źródłowego. Eclipse kopiuje każdy plik inny niż Java do swojego katalogu wyjściowego (domyślnie bin), respektując hierarchię pakietów/folderów.

+3

Works dla NetBeans (7.1) za: '/ /src/META-INF' – craig

+0

@craig Te same prace w Eclipse TOO:'//src/META-INF' – gregn3

15

Zasadniczo musi być w Twojej ścieżce klas (pod /META-INF/). Możesz ręcznie włączyć go w środowisku Eclipse, konfigurując właściwości. Jeśli twój projekt jest oparty na szablonach, to powinien być automatycznie wybrany z folderu /src/main/resources/META-INF/ (, pod warunkiem, że podmioty są pod tą samą maską).

+3

Ta sama ścieżka domyślna ('/ src/main/resources/META-INF/') jest używany w projektach opartych na [Gradle] (http://gradle.org). – naXa

2

Jeśli używasz Eclipse, kliknij prawym przyciskiem myszy na folderze „źródło” wybierz „Build Path”, a następnie „Użyj jako źródło folderu”

+0

AWW YEHAH! Dziękuję, że zadziałało dla mnie po 2 dniach zakazu palenia – dctremblay

5

Powinno być pod src/main/resources katalogu

pełnej ścieżce będzie /src/main/resources/META-INF/persistence.xml

Po utworzeniu folderu META-INF w katalogu zasobów i posiadające plik persistence.xml ładuje entityMangerFactory fasoli prawidłowo,

<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" /> 

Powyższa linia prawidłowo odczytuje ścieżkę.