读书人

使用了第三方类库的ejb怎么打包

发布时间: 2012-10-28 09:54:44 作者: rapoo

使用了第三方类库的ejb如何打包

????????? 在实际项目中,我们经常需要使用第三方的类库。这些类库应该放在哪里?EJB应用一般都有被“卸出”(这里指装入的反向过程)的能力,这种能力由部署时装入它们的类装载器支持。如果我们把第三方类库放入应用服务器的标准类路径([jboss安装目录]\server\all\lib),这些类很可能完全失去被卸出的能力。这样,如果EJB应用要更新某个第三方类库的版本,重新部署EJB应用时,第三方类库也要重新部署。在这种情形下,把第三方类库放
入应用服务器标准类路径很不方便,因为每次部署EJB应用时,都要重新启动整个应用服务器,这显然不是理想的选择。适合放入应用服务器类路径的第三方类库通常是一些通用类库,如JDBC驱动。

?

????????????? 对于针对特定应用的第三方类库,最理想的选择是把他们放入EJB Jar 文件中。每一个JAR文件里都有一个manifest文件,这个文件由jar工具自动创建,默认名字是MANIFEST.MF。我们可以在manifest文件中加入一个Class-Path属性,引用它所依赖的JAR文件。我们可以手工编辑manifest.mf文件,在原有内容的基础上,添加
Class-Path属性。Class-Path属性的值是用来搜索第三方类库的相对URL。这个URL总是相对于包含Class-Path属性的组件。单个Class-Path属性内可以指定多个URL,一个manifest文件可以包含多个Class-Path属性。

?
????????? 假设本例EJB使用了两个第三方类库,名为:Upload.jar,Socket.jar,修改后的manifest.mf文件内容如下:?

使用了第三方类库的ejb怎么打包Manifest-Version:?1.0
使用了第三方类库的ejb怎么打包Ant-Version:?Apache?Ant?1.6.5
使用了第三方类库的ejb怎么打包Created-By:?1.5.0_01-b08?(Sun?Microsystems?Inc.)
使用了第三方类库的ejb怎么打包Class-Path:?Upload.jar?Socket.jar

注意:Class-Path: 与Upload.jar 之间有一空格分隔(缺少了空格就会发生找不到jar 文件),多个jar 文件之间需
要用空格分隔。Class-Path所在行还需要进行回车换行。

读书人网 >软件架构设计

热点推荐