我们需要使这个脚本编译Java类,将它们封装至EJB模块和EAR中,然后在 Weblogic Server上部署和撤除它们,并运行 JUnit测试。
由于在切换提供者的时候会有些细微的变化,所以使得这种例行任务的标准构建文件有些复杂。每个提供者使用persistence.xml都有所不同。单独的配置文件位于META-INF/hibernate和META-INF/kodo中,构建脚本负责在可部署的包中包含正确的配置。同样,构建脚本使用提供者的逻辑名(例如,hibernate-ejb.jar、kodo-ejb.jar或openjpa-ejb.jar)创建EJB模块。
构建的另一个重要的方面是OpenJPA 和Kodo都要求一个编译后增强的步骤。可以使用 Cjavaagent将这个编译后的步骤放到运行时,但是我更愿意用构建脚本进行增强,而不是用 Cjavaagent请求Weblogic server。您可以在 OpenJPA用户手册 中获得有关增强的更多内容。
为了条件执行,build.xml中将含有一个<target name="check-provider">。
将通过有效的提供者名称调用这个构建脚本
$ ant -Dprovider=hibernate hibernate、kodo和openjpa都是有效的提供者值。
默认的构建目标将清理、编译、有条件地增强、封装和撤除先前的部署(如果有的话),并且部署、运行测试和报告错误(如果有的话)。
通过 build.properties 文件您指定 ${bea.home}和用户凭证等作为您的环境配置脚本。
为了进行部署,构建脚本用以下内容封装了JPAService.ear:
$ jar tvf JPAService.ear
106 Sat Jun 23 01:33:00 CDT 2007 META-INF/MANIFEST.MF
414 Sat Jun 23 01:33:02 CDT 2007 META-INF/application.xml
2755 Sat Jun 23 01:33:02 CDT 2007 hibernate-ejb.jar 在JEE历史上,最简单的Enterprise Application Archive有一个单独的EJB模块,如以下的application.xml 所示(为便于可读性,并未包含的XML头部和命名空间声明):
<application>
<display-name>EJB3 Sample Application</display-name>
<module>
<ejb>hibernate-ejb.jar</ejb>
</module>
</application>
EJB模块hibernate-ejb.jar看上去不错吧?
$ jar tvf hibernate-ejb.jar
106 Sat Jun 23 01:33:00 CDT 2007?META-INF/MANIFEST.MF
文章来源于领测软件测试网 https://www.ltesting.net/