文档章节

REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建

六Ge
 六Ge
发布于 2015/04/21 16:21
字数 602
阅读 204
收藏 0

Apache TomEE结合了众多开源Java EE的实现,诸如GlassFish、JBoss和Apache Geronimo,同时也是仅有的6个通过认证的JavaEE引擎之一。

一、准备工作

  1. 下载TomEE,http://mirrors.hust.edu.cn/apache/tomee/tomee-1.7.1/apache-tomee-1.7.1-plume.zip,该版本内核为Tomcat 7,解压即可。

  2. 下载Eclipse for JavaEE,必须是Kepler或以上版本,否则不支持Tomcat 7

  3. jdk1.7或以上版本 + Maven 3.x

二、环境搭建步骤及关键代码

1、Eclipse+TomEE

1) 启动Eclipse,菜单Window-Preference-Server-Runtime Environment-Add,增加TomEE(与增加tomcat方法相同);

2) Window-Show View-Servers,增加Server,选择上一步的TomEE;

3) 双击上一步中的Server,勾选如下内容并保存:

增加后需要手动将 tomee.xml和system.properties导入(import - File System)到localhost-config文件夹下。

4) 创建TomEE数据源:在Servers项目中的“TomEE localhost-config”修改tomee.xml,增加如下内容:

 <Resource id="myJtaOracleJNDI" type="DataSource">
  JdbcDriver oracle.jdbc.OracleDriver
  JdbcUrl jdbc:oracle:thin:@localhost:1521:orcl
  UserName Scott
  Password tiger
  JtaManaged true
 </Resource>

数据源创建后,注意要将对应的驱动jar放到tomee的lib中

5) 设置jsp修改后热部署:在Servers项目中的“TomEE localhost-config”修改web.xml,找到jsp的Servlet配置,修改development参数为true。

 

2、创建Maven Web项目

3、增加Rest支持(Jersey)

1) pom.xml增加以下依赖:

  <dependency>
   <groupId>org.glassfish.jersey.media</groupId>
   <artifactId>jersey-media-json-jackson</artifactId>
   <version>2.17</version>
  </dependency>
  <dependency>
   <groupId>org.glassfish.jersey.containers</groupId>
   <artifactId>jersey-container-servlet</artifactId>
   <version>2.17</version>
  </dependency>

2) 创建ApplicationConfig:

@ApplicationPath("rest")
public class ApplicationConfig extends ResourceConfig {
 public ApplicationConfig() {
  packages("com.company.resources");
 }
}

3) 配置项目的web.xml,增加Servlet如下:

<servlet>
 <servlet-name>Jersey REST Service</servlet-name>
 <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
 <init-param>
  <param-name>javax.ws.rs.Application</param-name>
   <param-value>com.company.ApplicationConfig</param-value>
 </init-param>
</servlet>

 4、增加JPA支持(EclipseLink)

 1) pom.xml增加以下依赖:

<dependency>
   <groupId>org.eclipse.persistence</groupId>
   <artifactId>javax.persistence</artifactId>
   <version>2.1.0</version>
  </dependency>
  <dependency>
   <groupId>org.eclipse.persistence</groupId>
   <artifactId>eclipselink</artifactId>
   <version>2.6.0</version>
  </dependency>

2) src\main\resources\META-INF\persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
 <persistence-unit name="my-app" transaction-type="JTA">
  <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
  <exclude-unlisted-classes>true</exclude-unlisted-classes>
  <jta-data-source>myJtaJNDI</jta-data-source>
  <class>com.company.Student</class>
 </persistence-unit>
</persistence>

5、发布项目

发布后,修改Servers项目中的“TomEE localhost-config”的server.xml,将其中最后的<Context>标签的reloadable设置为false。否则一旦修改后台,服务器会自动重启。

至此,环境搭建完成。TomEE启动的时候使用Debug模式(否则修改后台后不生效)。

 

Enjoy!

转载请注明出处O(∩_∩)O~

© 著作权归作者所有

共有 人打赏支持
六Ge
粉丝 2
博文 3
码字总数 1319
作品 0
烟台
私信 提问
Vue中路由管理器Vue Router使用方式(二)-推荐

一、Vue中使用Vue Router简单方式使用 vue add xxx命令添加插件 使用步骤,本人假设已经安装好了Vue CLI工具,了解更多参考:VSCode 搭建Vue开发环境之Vue CLI 1.创建项目 创建过程比较慢,需...

tianma3798
10/17
0
0
[Android开发实践]搭建本地API服务器与HTTP请求调用

目的 在Android开发下,可以实现app对特定API服务器进行接口请求。 场景 现在很多项目都是基于C/S架构,所以在个人开发过程需要搭建类似的开发测试环境。列举一下本次的环境: 开发环境:Win...

暗夜在火星
2014/06/28
0
0
以太坊私有链DApp开发环境搭建(一)

一、安装前的准备 1.1 查看当前CPU架构 在终端中执行以下命令,确定是32位架构还是64位架构: 如果你看到输出x86_64,那么就是64位系统,否则是32位。 1.2下载工具 确保你安装了下载工具wge...

马拉喀什
04/08
0
0
GEF(Graphical Editor Framework) Eclipse项目入门系列(2)---Draw2D开发环境的搭建

GEF(Graphical Editor Framework) Eclipse项目入门系列(1)---概述中,我们已经提到了Draw2D框架是GEF框架的重要组成部分。那么Draw2D的环境如何搭建起来呢?其实很简单,去Eclipse的官方网...

chancein007
2014/12/24
0
0
Xamarin iOS开发实战1.1.3Xamarin版本

Xamarin iOS开发实战1.1.3Xamarin版本 Xamarin提供了免费版和付费版。免费版本包含Xamarin Studio服务。付费版本分为普通版299美元/年、商业版999美元/年和企业版1899美元/年。开发者可以根据...

大学霸
2014/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
20分钟前
0
0
I2C EEPROM驱动实例分析

上篇分析了Linux Kernel中的I2C驱动框架,本篇举一个具体的I2C设备驱动(eeprom)来对I2C设备驱动有个实际的认识。 s3c24xx系列集成了一个基于I2C的eeprom设备at24cxx系列。at24cxx系列芯片包...

yepanl
22分钟前
1
0
spring mvc拦截器,实现统计http请求的后台运行时间

使用两种方式,实现拦截http请求的后台运行时间。 废话不多说直接上代码 /** * Http请求时间统计 * 拦截所有请求 */public class HttpRquestTimeInterceptor extends HandlerIntercepto...

兜兜毛毛
39分钟前
2
0
设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
55分钟前
4
0

中国龙-扬科
58分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部