设置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.mzph.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…