2013-04-25 80 views
7

我創建Maven項目在Eclipse中使用這些原型:Maven和Eclipse項目構面的Java EE 6

  • EJB-javaee6
  • 的webapp-javaee6

這些項目沒有被創建面。

將這些Maven項目轉換爲多面形式有意義嗎?

哪個方面會有幫助,哪些方面可能會給Maven項目帶來麻煩?

具體而言:以下任何項目方面是否與Maven的責任有衝突?

  • 的Java
  • 的JavaScript
  • EJB模塊
  • 動態Web模塊
  • GlassFish的部署描述符文件
  • 的JavaServer Faces

我的印象中,轉換一個Maven項目多面形式將意味着混合兩個世界。因此我傾向於不啓用任何項目構面。

但是我在哪裏工作,我們有Maven項目的例子,這些項目都是以多面的形式出現的,我想知道是否可能有(無風險)好處。

回答

9

Eclipse構面和maven原型是正交的 - 即它們彼此沒有影響,或者彼此沒有任何知識。如果它能方便你使用eclipse工作,你可以安全地添加facet。

+0

非常感謝您的回答。我已經接受它,至少在理論上它是事實 – StaticNoiseLog 2013-04-30 10:35:55

+0

在實際使用中,我發現Maven與m2e的集成相當脆弱。例如,m2e插件堅持強制執行Java 1.6,儘管我使用的GlassFish可以處理Java 1.7 EJB。使用純粹的Maven,構建,打包和部署(手動)絕對沒有問題。 我對NetBeans的測試也是一樣的,它可以很順利地開箱即用。我發現NetBeans中的Maven集成對於EJB項目來說更好。 – StaticNoiseLog 2013-04-30 10:42:33

+0

@StaticNoiseLog不客氣。你對m2e是對的。前段時間,我放棄了命令行maven,並發現它更方便。 – kostja 2013-05-01 18:29:38

1

經過一番嘗試,我認爲我有一些工作原理(除了我無法讓m2e接受Java的Java 1.7)。

版本:

  • 的Eclipse朱諾4.2
  • M2E 1.3.1
  • 的GlassFish 3.1.2
  • JDK 1.7.0_17(Oracle)的

重要的使用注意:使用下面的設置,您應該禁用自動裝置ic發佈到GlassFish(「從不自動發佈」)如果你想運行Maven clean &安裝。對於Eclipse中通常的編輯和保存工作,可以啓用自動發佈並似乎正常工作。只有在明確啓動Maven(在Eclipse中)時纔會遇到問題。

建立與Maven EJB項目在Eclipse

Create Maven projects in Eclipse with these archetypes: 
ejb-javaee6 
ear-javaee6 
webapp-javaee6 

webapp-javaee6 
-------------- 
- Convert to faceted form, select GlassFish in Runtimes and enable: 
    - Dynamic Web Module 
    - GlassFish Deployment Descriptors Files 
    - Java 
    - JavaScript 
    - JavaServer Faces 
    Further configuration available... 
    - Content directory: src/main/webapp 
    - NOT checked: Generate web.xml deployment descriptor 
    - JSF Capabilities (all defaults): JSF 2.1 + PrimeFaces selected 
    CHECKED: "Include libraries with this application" 

ejb-javaee6 
----------- 
- Convert to faceted form, select GlassFish in Runtimes and enable: 
    - EJB Module 
    - GlassFish Deployment Descriptors Files 
    - Java 
    Further configuration available... 
    - NOT checked: Generate ejb-jar.xml deployment descriptor 

ear-javaee6 
----------- 
- Convert to faceted form, select GlassFish in Runtimes and enable: 
    - EAR 
    - GlassFish Deployment Descriptors Files 
    Further configuration available... 
    - Add EJB and WEB projects as dependencies 
    - Content directory: src/main/application (META-INF location used by Maven) 
    - NOT checked: Generate application.xml deployment descriptor