2012-04-20 108 views
4

我有以下Maven項目estruture未發現:Maven的子模塊在日食:從一個模塊資源在另一個

Example 
-Persistence 
-GWTApp 

持久性有src/main/resources/META-INF persistence.xml中,並在統一的測試工作正常。

我需要在GWTApp項目中使用它。所以,我把它添加爲依賴。像這樣:

<dependency> 
    <groupId>com.example</groupId> 
    <artifactId>Persistence</artifactId> 
    <version>0.0.1</version> 
</dependency> 

有了這個,我可以看到在我的web應用程序使用的持久化類,但是,當我在Eclipse中運行webproject,我得到這個錯誤:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named exemplo

我認爲這是因爲eclipse在引用webapp項目中的持久性項目的項目之間做了這個「鏈接」,而不是使用jar文件。也許我錯了,這只是一個猜測。

有人知道我該如何解決這個問題? 在此先感謝。

編輯

我做更多的測試,現在我相信這就是問題只是GWT開發模式和JPA,或什麼東西。 我試圖手動複製persistence.xml到weapp/META-INFtarget/project-webapp-0.0.1-SNAPSHOT/META-INF並且錯誤仍然存​​在。

有什麼想法?

回答

1

您是否正確地啓動了應用程序? https://developers.google.com/eclipse/docs/faq#gwt_with_maven

特別要注意,你必須 「MVN戰爭:爆炸」 來複制你的依賴目標/ MYAPP-0.0.1-SNAPSHOT/WEB-INF/lib目錄

+0

不工作...似乎碼頭忽略文件。 – caarlos0 2012-04-23 11:28:07

+0

我找到了解決方案!我錯誤地配置了一個步驟,我只是配置它:'右鍵單擊您的項目並選擇運行方式> Web應用程序。第一次執行此操作時,必須選擇分解的WAR目錄的位置(默認情況下它應該是/ target/ - ).'並且它工作正常。謝啦! – caarlos0 2012-04-23 11:36:14

1

我假設你正在使用M2E。如果是,打開Persistence項目的「Configure Build Path」對話框(右鍵單擊構建路徑並選擇「Build Path」子菜單)。

如果你看看「resources」文件夾,我懷疑你會看到「Excluded:**」;這可以防止Eclipse將文件複製到本地輸出目錄中,並且還可以防止它們可用於相關項目。選擇該行並點擊「刪除」

我不知道爲什麼M2E會這樣做,而且我知道有一個優先選項可以禁用它,但我只是手動執行它。

+0

它不是這個樣子的......這是「Excluided:**/*。java」;順便說一句,我排除該行...仍然沒有工作... – caarlos0 2012-04-20 21:16:04

相關問題