2016-10-19 39 views
0

嘿,我書面方式的一個項目,其中包括2其他Maven項目:與罐子Maven的戰爭項目

  1. JPA和EJB項目(DAO層)包裝的.jar

  2. REST服務項目包裝的.war

我找到了與eclipse設置依賴關係的幫助。在我的戰爭項目中,我添加了DAO的本地項目。編譯,建立(mvn乾淨安裝在兩個pom.xml)成功了。但我無法將其部署到癱瘓服務器上。我從我的jar包中得到了NoClassDef類。

另一方面,我看到很多DAO包裝在罐子裏的項目。但是有EJB3註釋。他們會在配置中使用JEE服務器嗎?(他們不需要web.xml,所以也許它是正確的)。我必須設置我的依賴DAO項目的範圍?如果我有NoClassDef錯誤,似乎在運行時沒有編譯類,或者有2個或更多來自此包的類的定義。我嘗試了一些配置,但我無法獲得解決方案。

有人可以寫最佳實踐來設置maven項目嗎?例如

  1. DAO層類型:罐子

  2. REST服務層類型:戰爭,依賴性:DAO {範圍:默認情況下,類型:JAR}

+0

您正在使用哪個EJB3註釋? –

回答

1

我認爲一個好的做法將定義項目父級(Parent POM),其必須定義涉及的模塊:

<modules> 
    <module>application-dao</module> 
    <module>application-rest</module> 
</modules> 

and defin Ë作爲依賴,你的應用程序「的.jar」

<dependency> 
    <groupId>com.test</groupId> 
    <artifactId>application-dao</artifactId> 
    <version>${project.version}</version> 
    <scope>compile</scope> 
</dependency> 

一個建議,你可以添加管理額外的一層,然後你會

  • 應用道
  • 應用核心
  • application-rest