WEB开发网
开发学院软件开发Java 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 8 部... 阅读

使用 Apache OpenJPA 开发 EJB 3.0 应用,第 8 部分: 在 Java EE 环境下开发、部署 OpenJPA 应用

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 打包、部署 OpenJPA 应用在 JBoss 中加入 OpenJPA 的 jar 文件要在 JBoss 应用服务器上运行 OpenJPA 应用,需要将 OpenJPA 的 jar 文件加入到 JBoss 的 CLASSPATH 中,使用 Apache OpenJPA 开发 EJB 3.0 应用

打包、部署 OpenJPA 应用

在 JBoss 中加入 OpenJPA 的 jar 文件

要在 JBoss 应用服务器上运行 OpenJPA 应用,需要将 OpenJPA 的 jar 文件加入到 JBoss 的 CLASSPATH 中,我们需要拷贝 %OPENJPA_HOME%\openjpa-*.jar 文件到 %JBOSS_HOME%\server\default\lib,另外还需要拷贝 %OPENJPA_HOME%\lib 下 common-*.jar 文件和 serp-*.jar 文件到 %JBOSS_HOME%\server\default\lib 下。

[注]%OPENJPA_HOME% 表示 OpenJPA 的安装目录,%JBOSS_HOME% 表示 JBoss 服务器的安装路径。

打包、发布 OpenJPA 应用

OpenJPA 应用开发完成后,需要打包成 EJB jar 后才能发布,我们可以使用 ANT 工具帮助我们完成 OpenJPA 应用的打包过程。另外,得益于 JBoss 服务器的热部署功能,我们也可以将 OpenJPA 应用的发布过程也使用 ANT 来完成。

[注]ANT 是 APACHE 软件基金会的一个开源项目,可以协助开发者自动完成项目的构建、测试、发布等工作。如何使用 ANT 请参考 ANT 项目的在线帮助文档。

实例中我们利用 ANT 来完成实体和 SessionBEAN 的编译、实体的 Enhance 工作、将实体和 SessionBean 打包成 EJB jar,并且将生成的 EJB jar 拷贝到 JBoss 服务器中对应目录下,JBoss 的热部署功能能够及时将生成 EJB jar 发布到服务器上。

用来打包、部署 OpenJPA 应用的 ANT 配置文件 build.xml 文件的全部内容如下:

1.    <project name="ejb3demo" default="ejbjar" basedir="."> 
2.     <property name="src.dir" value="${basedir}" /> 
3.     <!—设置 JBoss 服务器的安装路径à 
4.     <property name="jboss.home" value="C:\jboss-4.2.0.GA" /> 
5.     <property name="build.dir" value="${basedir}/build" /> 
6.     <property name="build.classes.dir" value="${build.dir}/classes" /> 
7.    
8.     <path id="classpath"> 
9.       <fileset dir="${jboss.home}/lib"> 
10.        <include name="**/*.jar" /> 
11.      </fileset> 
12.      <fileset dir="${jboss.home}/server/default/lib"> 
13.        <include name="**/*.jar" /> 
14.      </fileset> 
15.      <fileset dir="${jboss.home}/server/default/deploy/ejb3.deployer"> 
16.        <include name="*.jar" /> 
17.      </fileset> 
18.      <fileset dir="${jboss.home}/server/default/deploy/jboss-aop-jdk50.deployer"> 
19.        <include name="*.jar" /> 
20.      </fileset> 
21.      <pathelement location="${build.classes.dir}" /> 
22.      <pathelement location="${basedir}" /> 
23.    </path> 
24.    
25.    <property name="build.classpath" refid="classpath" /> 
26.    <target name="prepare"> 
27.      <mkdir dir="${build.dir}" /> 
28.      <mkdir dir="${build.classes.dir}" /> 
29.    </target> 
30.    <target name="compile" depends="prepare"> 
31.      <javac srcdir="${src.dir}" destdir="${build.classes.dir}" 
        debug="on" deprecation="on" optimize="off" includes="**"> 
32.        <classpath refid="classpath" /> 
33.      </javac> 
34.    </target> 
35.    <!—完成实体的 Enhance à 
36.    <target name="enhance" depends="compile"> 
37.    <!—OpenJPA 提供的完成 Enhance 的 ANT 任务à 
38.    <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask"> 
39.     <classpath refid="classpath" /> 
40.    </taskdef> 
41.  
42.    <openjpac> 
43.     <!—设置需要 Enhance 的实体类à 
44.      <fileset dir="${build.classes.dir}"> 
45.      <include name="**/beans/*.class" /> 
46.     </fileset> 
47.     <classpath refid="classpath" /> 
48.    </openjpac> 
49.    </target> 
50.    <!—打包、发布 EJB jar à 
51.    <target name="ejbjar" depends="enhance"> 
52.      <jar jarfile="build/StatelessSample.jar"> 
53.        <fileset dir="${build.classes.dir}"> 
54.          <include name="**/*.*" /> 
55.        </fileset> 
56.      </jar> 
57.      <copy file="build/StatelessSample.jar" todir="${jboss.home}/server/default/deploy" /> 
|-------10--------20--------30--------40--------50--------60--------70--------80--------9| 
|-------- XML error: The previous line is longer than the max of 90 characters ---------| 
58.    </target> 
59.    
60.    <target name="run" depends="ejbjar"> 
61.      <java classname="com.kuaff.ejb3.stateless.Client" fork="yes" dir="."> 
62.        <classpath refid="classpath" /> 
63.      </java> 
64.    </target> 
65.    
66.    <target name="clean.db"> 
67.      <delete dir="${jboss.home}/server/default/data/hypersonic" /> 
68.    </target> 
69.    <target name="clean"> 
70.      <delete dir="${build.dir}" /> 
71.      <delete file="${jboss.home}/server/default/deploy/StatelessSample.ejb3" /> 
72.    </target> 
73.  </project> 

上一页  3 4 5 6 7 8 9  下一页

Tags:使用 Apache OpenJPA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接