2012-04-03 85 views
15

我正在使用Kundera教程https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes。當我在項目根目錄下創建一個文件夾META-INF並將persistence.xml放入其中時,Eclipse沒有找到它。我在哪裏可以在Eclipse中放置META-INF?

我做了一個快速搜索,並沒有發佈真正的解決方案。

爲什麼簡單的文件路徑應該難以配置沒有合理的理由。我正在尋找一個簡單的答案,應該是一個簡單的問題。

回答

26

它不應該在項目根目錄下,而是直接在源文件夾下。

在運行時,會在META-INF下的類路徑中搜索persistence.xml文件。所以如果你想META-INF文件夾放在編譯軟件包樹的頂部,你需要把它放在源代碼樹的頂部。 Eclipse會將每個非Java文件複製到其輸出目錄(默認情況下爲bin),並尊重程序包/文件夾層次結構。

+3

工程針對NetBeans(7.1)太:'/ /src目錄/ META-INF' – craig 2012-12-05 19:17:34

+0

@craig在Eclipse的作品太:'/ /src目錄/ META-INF' – gregn3 2015-06-08 22:52:30

15

基本上它必須在你的類路徑中(在/META-INF/下)。您可以通過配置屬性在eclipse中手動啓用它。如果您的項目是基於maven的,那麼它應該自動從/src/main/resources/META-INF/文件夾中挑選出來(提供的實體在同一個引擎蓋下)。

+3

相同的默認路徑('/ src目錄/ main/resources/META-INF /')在基於[Gradle](http://gradle.org)的項目中使用。 – naXa 2015-04-03 11:56:58

2

如果您使用的是Eclipse,在「SRC」文件夾上單擊右鍵,選擇「構建路徑」,然後選擇「使用的源文件夾」

+0

AWW YEHAH!謝謝,它在2天的非燒烤後爲我工作 – dctremblay 2016-08-25 19:12:05

5

應該src/main/resources目錄下,

的完整路徑將/src/main/resources/META-INF/persistence.xml

創建資源目錄下的META-INF文件夾並具有persistence.xml文件正確加載entityMangerFactory豆後,

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

以上行正確讀取路徑。

相關問題