关于weblogic6.1的classloader和menifest文件

04-04-05 wwlhp@jdon.com
以前一直对weblogic中的企业应用的classloader层次不很了解。今天做了一个测试,总算明白一点了。

我的测试是这样的:在ear内有一个ejb模块和web模块。ejb模块内有一个有状态会话bean,在它的业务方法内我沿着classloader的树形阶层一直向上,打印出加载ejb的classloader以及它的所有ancesters。web模块内只有一个jsp文件,jsp访问ejb的方法,同时打印出加载jsp的classloader以及它的所有ancesters。

测试结果表明,两条classloader链有部分重叠。证实了weblogic的classloader层次:一个ear对应一个classloader,它的类型是weblogic.utils.classLoaders.GenericClassLoader,它加载所有的ejb模块。它有一个child classloader,负责加载web模块。

做到这里还是一帆风顺,接下来我想测试一下ejb清单文件中的Class-Path。于是我在ear中加入了lib文件夹,在lib中加入了一个util.jar。然后ejb访问util.jar中的类。接下来修改ejb的jar中的清单文件,加入了Class-Path: lib/util.jar。但是在部署的时候就出错了,说清单文件的格式不正确,也没有具体的消息。

这里是清单文件的内容:

Manifest-Version: 1.0 
Created-By: 1.3.1 (Sun Microsystems Inc.) 

Class-Path: lib/util.jar


<p>

请高人指点一下清单文件的格式,不胜感激!

猜你喜欢