2012-05-23 108 views
1

我正在建立一個新的多模塊項目結構。現在有一個ejb和耳朵模塊,我想爲RESTful Web服務添加一個Web模塊。最好的辦法是什麼?作爲獨立的maven模塊休息

的應用程序看起來像這樣(模塊及其內容):

  • app(POM):父POM
    • core(EJB):EJB,休眠,DAO中,實體,業務邏輯
    • ear(耳朵):創建可展開的容器組件

現在我想添加一個寧靜的web服務模塊。

http://www.jboss.org/jbossas/downloads看的jboss-AS-7快速啓動應用程序總是有war模塊,它只是引導了其他的服務,同時與JAX-RS註解豆類EJB項目的一部分(在我的情況core

  • app
    • ejb(含有服務用JAX-RS註解+豆)
    • ear
    • war(只含web.xml

我用這種方法的問題是,EJB模塊包含的服務,其餘資源。把它們分開是不是更好?或者這是要走的路?

否則:哪種方法會更好?

  • app
    • core
    • ear
    • rest(戰爭包含其餘資源豆類和web.xml

  • app
    • core
    • ear
    • rest
    • rest-resources(對其餘資源豆單獨的容器)
    • rest-war(戰爭,只包含web.xml
+0

我們有類似的設置,但我們在Web項目中結合了JAX-RS。 – Seshagiri

回答

1

從JEE6/JAX-RS的角度來看,您需要WAR文件的唯一方法是實際有一些東西交給應用程序服務器部署。它可以從字面上不包含任何資源(除了使其成爲有效存檔所需的資源外),只要您的類在類路徑中的某處可用,您的應用程序仍然可以工作。所以,如果你認爲合適,它真的要你捆綁這些類。

您需要的一件事是擴展javax.ws.rs.core.Application的類。此類用作標記/引導程序嚮應用程序服務器指示Web存檔中可用的REST資源需要加載。在大多數商店中,我已經看到這個類放置在WAR項目中。

如果您確實在尋找組織技巧,我建議您先將所有REST資源類別分組到他們自己的項目中。作爲依賴關係添加資源類工作所需的任何項目(例如,核心項目和耳項目)。添加所有三個(休息,耳朵,核心)作爲您的戰爭項目的依賴項。

然後根據需要改進模型,當您在實施過程中工作時。

1

對於這類項目,有一個非常棒的JBoss Maven原型。

1)轉到與行家集成到eclipse安裝
2)新 - >項目 - > Maven項目
3)點擊下一步
4)在過濾器類型在EE6
5)停止的顯示的選項,使用組ID:「org.jboss.spec.archetypes」和工件ID:「jboss-javaee6-webapp-archetype」
6)將會有一個結構精美的Web應用程序項目,EAR連接到一個EJB項目和一個WAR項目。