設置Java EE 6開發環境

本教程簡要說明了如何設置典型的環境來開發基于Java EE 6的應用程序。 除了可以正常工作的Windows XP客戶端具有足夠的CPU能力和內存外,本教程沒有其他先決條件。 在教程中,我們將需要安裝以下組件:
  • Java 6 JDK更新26
  • 用于Java EE開發人員的Eclipse IDE 3.6.2(Helios)
  • Maven的3.0.3
  • 玻璃魚3.1

我建議您創建一個文件夾,在其中放置設置環境所需的所有內容。 我的文件夾是C:\ jee6。 當我引用它時,我將其稱為<dev_home>。
注意:在最近的一篇文章中,我解釋了如何設置Spring環境。 這個過程非常類似,因此,我將僅解釋此Java EE設置中的偏差。
在本教程中,我們將創建一個演示項目。 該示例應用程序使用JSF 2.0,CDI 1.0,EJB 3.1和JPA 2.0 (包括持久性單元)。 該演示可用于開始您自己的企業項目的開發。

安裝Java 6 JDK

請參閱此博客文章 。

為Java EE開發人員安裝Eclipse IDE

請參閱此博客文章 。

使用Maven 3創建Eclipse項目


請參閱我的Spring博客 ,我在其中解釋了如何設置Maven和創建Spring項目。 創建Java EE 6項目的過程幾乎是等效的。 設置Java EE環境的唯一區別是用于創建Eclipse Project的原型。 創建Eclipse項目時,請使用以下Maven命令:

mvn原型:generate -DarchetypeGroupId = org.jboss.weld.archetypes -DarchetypeArtifactId = weld-jsf-jee -DarchetypeVersion = 1.0.0-BETA1 -DgroupId = com.mycompany.jeeapp -DartifactId = jee-app-weld -Dversion = 1.0 -SNAPSHOT -DinteractiveMode = false
注意:我還在Spring帖子中標記了不同之處,以使其在Maven設置和項目創建過程中明確于Spring的具體位置。
注意:在創建此博客文章時,weld-jsf-jee原型處于beta狀態。 您可以使用1.0版本。 請參閱此處以了解是否有此原型的更新版本。


安裝Glassfish 3.1


在Java EE項目中,您需要Java EE服務器。 在創建此職位時,Glassfish 3.1是唯一提供完整Java EE 6堆棧的服務器。 因此,我選擇使用Glassfish。 要將Glassfish安裝到本地計算機,請執行以下操作:
下載Glassfish 3.1
  • 轉到Glassfish下載頁面 。
  • 選擇下載GlassFish Server開源版3.1。
  • 然后選擇Zip-Archive glassfish-3.1.zip(GlassFish Server 3.1開源版完整平臺)
  • 在您的<dev_home>中創建一個名為glassfish的文件夾。
  • 在此處解壓縮壓縮文件
配置Eclipse

成功下載Glassfish副本后,需要將Eclipse IDE配置為使用Glassfish 3.1作為目標運行時環境。 為此,請按照下列步驟操作:

  • 打開Eclipse。
  • Eclipse菜單欄中,選擇“窗口>顯示視圖>服務器”。
  • 在“服務器”視圖中,右鍵單擊空白,然后選擇“新建>服務器”。
  • 選擇鏈接“下載其他服務器適配器”。 Eclipse現在下載可用的服務器適配器。


  • 從列表中選擇“ Oracle Glassfish服務器工具”。
  • 接受許可證,然后選擇“完成”。 開始下載。
  • 重新啟動Eclipse以激活新適配器。 當您重新進入Eclipse時,您會看到Glassfish服務器工具的首頁。
  • 關閉該視圖并轉到工作臺。
  • 在Eclipse中,轉到“服務器”視圖(記住:底部的窗口),然后右鍵單擊空白處,然后選擇“新建>服務器”。
  • 選擇GlassFish Server Open Source Edition 3(Java EE 6),然后選擇“下一步”
  • 為下載的GlassFish實例選擇主目錄,該目錄應為<dev_home> / glassfish / glassfish。
  • 如果可能,選擇“完成”。 否則,您可能必須指定一個域。 在這種情況下,請選擇“下一步”。應預先選擇域,然后單擊“完成”。
  • 您應該在“服務器”視圖中看到已添加Glassfish。
  • 要啟動服務器,請右鍵單擊Glassfish服務器,然后選擇“調試”。
  • 轉到“控制臺”視圖(Eclipse工作臺底部的另一個窗口),然后查看GlassFish如何與您交談:-)。 您可能需要更改為server.log才能查看顯示的日志條目。 我已經突出顯示了工具欄按鈕,您可以在其中更改服務器日志。 要最大化和最小化“控制臺”視圖,您需要雙擊“控制臺”選項卡。
    • 要驗證安裝,請轉到Web瀏覽器,然后輸入http:// localhost:8080。
    • 選擇鏈接“轉到管理控制臺”以進入管理控制臺。
    • 您可以在管理控制臺中管理GlassFish。 四處看看。
    您的環境現已完成。 是時候開始演示應用程序了。
    啟動和使用演示應用程序
    在前面的步驟之一中,我們使用Maven創建了一個基于Java EE的應用程序。 我們必須將其導入Eclipse。 您可以按照以下步驟進行操作:
    導入您的Java EE應用程序
    • 打開Eclipse。
    • 在菜單欄中,選擇“文件>導入”。
    • 在“選擇導入源”中輸入“現有”。
    • 選擇“將現有項目放入工作區”,然后單擊“下一步”。
    • 選擇您剛剛使用Maven創建的應用程序的根目錄。 這應該是<dev_home> \ workspace \ jee-app-weld。 然后選擇“完成”。
    • 該項目將被導入。 當您進入“標記”視圖時,您會注意到存在多個錯誤。 我們必須解決這些問題。 右鍵單擊“ jee-app-weld”項目,然后從上下文菜單中選擇“屬性”。
    • 轉到“目標運行時”。
    • 選擇“ GlassFish”,然后按“確定”。 這應該清除“標記”視圖中的所有編譯錯誤
    修正演示應用程序

    不幸的是,撰寫本文時,演示應用程序原型處于beta狀態。 因此,您必須做一些事情才能使其正常運行。 習慣Eclipse是一個很好的練習。

    • 在Eclipse中,按Ctrl + Shift + R。 出現“打開資源”對話框。
    • 在“選擇項目”中輸入“ persistence.xml”,在下面的列表中選擇它,然后按“打開”。
    • 對文件“ home.xhtml”重復最后兩個步驟。
    • 您現在應該已經打開了兩個文件:persistence.xml和home.xhtml
    • 查看我固定的persistence.xml文件,并使您的外觀相同。

    • 我已將jta-data-source更改為GlassFish設置(默認為JBoss),并將屬性eclipselink.ddl-generation.output-mode添加到“ EclipseLink的屬性”部分。 該屬性確保在應用程序啟動時創建數據庫。
    • 使用Ctrl + S(或在菜單欄中的文件>保存)保存更改。
    • 要采用的第二個文件是home.xhtml。 在這里,我已將<h:dataTable var =“ _ widget” value =“#widgets”>更改為<h:dataTable var =“ _ widget” value =“ #{widgets} ”>。
    • 使用Ctrl + S(或在菜單欄中的文件>保存)保存更改。
      注意: 有關上述解決方案的其他信息,請參閱有關persistence.xml的 博客條目和有關home.xhtml的博客條目 。
      配置Eclipse以進行部署

      我們快完成了。 現在,您需要向Eclipse解釋GlassFish服務器是部署容器。 您可以按照以下步驟進行操作:

      • 在“服務器”視圖中,右鍵單擊Glassfish服務器,然后選擇“添加和刪除”。
      • 選擇您的應用程序,然后按“添加”將其移至右側部分。
      • 按“完成”。
      • 最后要做的是確保Glassfish啟動集成的Derby數據庫,以便可以使用默認的JDBC數據源。 在菜單欄中,轉到“窗口>首選項”。
      • 選擇“ GlassFish首選項”,然后選中復選框以在服務器啟動時啟用JavaDB。 然后按確定。

      就準備Eclipse而言已經就足夠了。 現在啟動演示應用程序。

      啟動并驗證演示應用程序
      • 在“服務器”視圖中選擇Glassfish服務器,然后在上下文菜單中單擊鼠標右鍵,然后選擇“調試”(確保服務器尚未運行,如果要先停止服務器)。
      • 請參閱“控制臺”視圖以驗證應用程序已正確啟動。 再次:雙擊“控制臺”選項卡以最大化和最小化工作臺中的視圖。 確保您看到server.log。
      • 轉到網絡瀏覽器并輸入http:// localhost:8080 / jee-app-weld

      你完成了。 您已經創建了自己的Java EE開發環境。 從這里環顧一個litlle,并構建您自己的項目。

      參考: JCG合作伙伴 Niklas的 “設置Java EE 6開發環境”。


      翻譯自: https://www.javacodegeeks.com/2012/02/set-up-java-ee-6-development.html

      本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
      如若轉載,請注明出處:http://www.pswp.cn/news/373739.shtml
      繁體地址,請注明出處:http://hk.pswp.cn/news/373739.shtml
      英文地址,請注明出處:http://en.pswp.cn/news/373739.shtml

      如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

      相關文章

      css cursor url用法格式詳解

      css cursor url用法格式&#xff1a;css:{cursor:url(圖標路徑),auto;} //IE,FF,chrome瀏覽器都可以 實例代碼&#xff1a;html{cursor: url("http://ued.taobao.com/blog/wp-content/themes/taobaoued/images/cursor.ico"),auto;} 解析&#xff1a;前面的url是自定義…

      iostext添加點擊事件_iOS開發小技巧 - label中的文字添加點擊事件

      Label中的文字添加點擊事件以前老師講過類似的功能,自己懶得回頭看了,找了很多第三方的,感覺這個小巧便利,作者只是擴展了分類,實現起來代碼也少.先來個效果圖自己的項目,直接上代碼- (void)setTopicModel:(CYQTopicModel *)topicModel{_topicModel topicModel;NSArray *likeA…

      ubantu下安裝Nginx

      Nginx 概述 Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器&#xff0c;也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的&#xff0c;第一個公開版本0.1.0發布于2004年10月4日。其將源代碼…

      Hadoop中的問題–何時無法交付?

      Hadoop是很棒的軟件。 它不是原始的&#xff0c;但肯定不能消除它的榮耀。 它建立在并行處理的基礎上&#xff0c;這個概念已經存在了數十年。 Hadoop雖然從概念上來說并不是獨創性的&#xff0c;但它顯示了自由開放的力量&#xff08;就像在啤酒中一樣&#xff01;&#xff09…

      創建 dblink

      目的&#xff1a;oracle中跨數據庫查詢 兩臺數據庫服務器db_A(本地)和db_B(遠程192.168.1.100)&#xff0c;db_A下用戶user_a 需要訪問到db_B下user_b的數據解決&#xff1a;查詢得知使用dblink(即database link 數據庫鏈)實現過程&#xff1a;1、確定用戶user_a有沒有創…

      C#靜態常量和動態常量的區別

      C#擁有兩種不同的常量&#xff1a;靜態常量(compile-time constants)和動態常量(runtime constants)。它們有不同的特性&#xff0c;錯誤的使用不僅會損失效率&#xff0c;還可能造成錯誤。相比之下&#xff0c;靜態常量在速度上會稍稍快一些&#xff0c;但是靈活性卻比動態常…

      spring的鉤子_高級java開發必須掌握的Spring接口——SmartLifecycle

      有些場景我們需要在Spring 所有的bean 完成初始化后緊接著執行一些任務或者啟動需要的異步服務。 常見有幾種解決方案j2ee 注解 啟動前PostConstruct 銷毀前PreDestroy 基于j2ee 規范springboot 的 org.springframework.boot.CommandLineRunner springboot 特性前面我已經介紹過…

      Java:對Java SE 6和Java SE 7的客戶端和桌面部分的改進!

      Java 6和Java 7中的客戶端改進 了解有關Java SE 6和Java SE 7的客戶端和桌面部分的改進&#xff0c;包括新的applet插件&#xff0c;Java Deployment Toolkit&#xff0c;成形和半透明的窗口&#xff0c;重量級-輕量級混合以及Java Web Start。 介紹 自2006年12月發布Java平臺…

      辨異 —— 行星 vs 恒星

      star&#xff1a;恒星&#xff0c;planet&#xff1a;行星&#xff1b;1. 恒星 恒星是指宇宙中靠核聚變產生的能量而自身能發熱發光的星體&#xff08;比如太陽&#xff09;。過去天文學家以為恒星的位置是永恒不變的&#xff0c;以此為名。但事實上&#xff0c;恒星也會按照一…

      軟件公司職責分配

      崗位&#xff1a;項目經理 主要職責&#xff1a;1、 計劃&#xff1a;a)項目范圍、項目質量、項目時間、項目成本的確認。b)項目過程/活動的標準化、規范化。c)根據項目范圍、質量、時間與成本的綜合因素的考慮&#xff0c;進行項目的總體規劃與階段計劃。d)各項計劃得到上級領…

      大型網站架構系列:負載均衡詳解(4)

      本文是負載均衡詳解的第四篇&#xff0c;主要介紹了LVS的三種請求轉發模式和八種負載均衡算法&#xff0c;以及Haproxy的特點和負載均衡算法。具體參考文章&#xff0c;詳見最后的鏈接。 三、LVS負載均衡 LVS是一個開源的軟件&#xff0c;由畢業于國防科技大學的章文嵩博士于19…

      關于JavaFX的最常見問題

      上周&#xff0c;我在斯德哥爾摩的Jfokus 2012上做了一個關于JavaFX的演講&#xff0c;當時我意識到每次活動都會問三個問題。 似乎有一個普遍的興趣&#xff0c;所以我嘗試在這篇文章中回答他們&#xff08;盡可能的說實話&#xff09;&#xff1a; iPad或其他移動設備上的Jav…

      python中面向對象空間時間_python基礎學習Day15 面向對象、類名稱空間、對象名稱空間 (2)...

      一、類先看一段代碼&#xff1a;classPerson:animal 高級動物walk_way 直立行走 # 靜態屬性&#xff0c;靜態變量&#xff0c;靜態字段language 語言def __init__(self,name,age,work): # 函數 動態屬性&#xff0c;方法#print(self)self.name nameself.ageageself.workworkdef…

      Linux GRUB 引導Win 7 ---- error: invalid EFI file path

      最近新買了個固態硬盤&#xff0c;先裝了個Win 7系統&#xff0c;現在裝的系統和以前裝系統唯一的區別是引導不是以前的MBR&#xff0c;而是最新看似是個趨勢的GPTUEFI方式。 win 7 裝完啦&#xff0c;還是和以往的一樣裝 Ubantu (Ubantu 12.04)&#xff0c;ubantu 引導磁盤扇…

      其他位不變,具體位的賦值操作

      GPIOC (GPIOC & 0xf0) | (Content[s_Index] & 0x0f);        //低四位賦值GPIOB (GPIOB & 0xc3) | ((Content[s_Index]>>2) & 0x3c);     //中間四位賦值 具體某一位置1或取反&#xff1a; 正確寫法&#xff1a; 置1:GPIOC | (1<<i…

      使用Spring AOP實現活動記錄模式

      在班級設計中&#xff0c;我們應就每個班級的職責分配做出決定。 如果我們選擇的不錯&#xff0c;系統將更易于理解&#xff0c;維護和擴展。 幾乎我們所有的項目都有一個持久層&#xff0c;即關系數據庫&#xff0c;文檔存儲或僅XML文件。 通常&#xff0c;您將使用DAO模式在業…

      Java基礎之反射

      框架都要用到反射技術&#xff0c;反射都要用到一個類Class. java程序中的各個java類屬于同一類事物&#xff0c;描述這類事物的java類名就是Class. 得到字節碼的方式有三種&#xff1a; Date.class;new Date().getClass();Class.forName("java.lang.String");最后一…

      php socketconnect連接失敗_PHP設計模式之模板方法模式

      模板方法模式&#xff0c;也是我們經常會在不經意間有會用到的模式之一。這個模式是對繼承的最好詮釋。當子類中有重復的動作時&#xff0c;將他們提取出來&#xff0c;放在父類中進行統一的處理&#xff0c;這就是模板方法模式的最簡單通俗的解釋。就像我們平時做項目&#xf…

      linux系統硬件配置查看方法

      一&#xff1a;查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如果覺得需要看的更加舒服 grep "model name" /proc/cpuinfo | cut -f2 -d: 二&#xff1a;查看內存 grep MemTotal /proc/meminfo grep MemT…

      java String源碼學習

      public final class Stringimplements java.io.Serializable, Comparable<String>, CharSequence {/**char數組用于字符的存儲 */private final char value[];/** 緩存string的hash碼 */private int hash; // Default to 0public String() {/**無參構造函數,打印值為&quo…