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

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方法相同);

REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建_第1张图片

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

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

REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建_第2张图片

增加后需要手动将 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、发布项目

REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建_第3张图片

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

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

 

Enjoy!

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

你可能感兴趣的:(eclipse,jpa,REST,ejb,jersey,eclipselink,tomee)