REST+EJB+JPA 框架在 Eclipse+TomEE 的開發環境搭建

Apache TomEE結合了衆多開源Java EE的實現,諸如GlassFish、JBoss和Apache Geronimo,同時也是僅有的6個經過認證的JavaEE引擎之一。java

1、準備工做web

  1. 下載TomEE,http://mirrors.hust.edu.cn/apache/tomee/tomee-1.7.1/apache-tomee-1.7.1-plume.zip,該版本內核爲Tomcat 7,解壓便可。apache

  2. 下載Eclipse for JavaEE,必須是Kepler或以上版本,不然不支持Tomcat 7json

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

2、環境搭建步驟及關鍵代碼服務器

一、Eclipse+TomEEoracle

1) 啓動Eclipse,菜單Window-Preference-Server-Runtime Environment-Add,增長TomEE(與增長tomcat方法相同);app

2) Window-Show View-Servers,增長Server,選擇上一步的TomEE;eclipse

3) 雙擊上一步中的Server,勾選以下內容並保存:jsp

增長後須要手動將 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。

 

二、建立Maven Web項目

三、增長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>

 四、增長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>

五、發佈項目

發佈後,修改Servers項目中的「TomEE localhost-config」的server.xml,將其中最後的<Context>標籤的reloadable設置爲false。不然一旦修改後臺,服務器會自動重啓。

至此,環境搭建完成。TomEE啓動的時候使用Debug模式(不然修改後臺後不生效)。

 

Enjoy!

轉載請註明出處O(∩_∩)O~

相關文章
相關標籤/搜索