使用 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 中,我们需要拷贝 %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>
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接