Glassfish:哪个类加载器从lib目录中加载类

时间:2015-04-28 12:56:26

标签: java-ee glassfish classloader

我有一个运行在Glassfish 3.1.2.2上的EJB模块的EAR,它从SerializationUtils.clone在EJB模块中包含的类上调用apache commons-lang。 commons-lang打包在EAR文件的/lib - 目录(<library-directory>)中。我得到以下异常:

  

org.apache.commons.lang.SerializationException:   java.lang.ClassNotFoundException :(要克隆的类)

如果我用自己的助手类模仿SerializationUtils.clone并将该类放在/lib下的jar中,也会发生同样的情况。如果我把我的助手类放在EJB模块中,一切都很好。 阅读Oracle GlassFish Server 3.1 Application Development Guide后说

  

Applib类加载器加载期间指定的库类   部署,用于特定的已启用模块或Java EE应用程序

这是否也包含EAR /lib - 目录?如果是,它将解释上述CNF,或者是否有其他原因。问题what classloader loads the lib directory of an ear in websphere (or in general)?的答案似乎暗示在webspehere上,EJB模块和/ lib下的jar由同一个类加载器加载。

0 个答案:

没有答案