我在加载websphere服务器中的jar时遇到问题。一些jar存在于WEB-INF / lib中,一些存在于本地硬盘驱动器中(例如,c:\ lib文件夹)。如何在应用程序启动期间加载所有这些jar。如果加载WEB-INF罐子,外部罐子没有加载,反之亦然......需要帮助....
答案 0 :(得分:4)
WebSphere具有类加载器的层次结构,父类加载器无法看到子类加载器,因此当您将应用程序的不同方面放在不同的位置时会出现意外。
永远不要尝试将应用程序jar放在WebSphere自己的lib目录中,也不要调整WebSphere自己的类路径。有一种方法可以让外部罐子可见,我马上解释一下。
有三个地方可以放置JAR文件以便加载它们。到目前为止,最好的只是将JAR放在WEB-INF / lib中。您可以指定搜索顺序首选项PARENT LAST,以便它们优先于websphere提供的jar - 但请注意,某些基本jar不能被覆盖您不能替换IBM安全性。
其次,您可以将jar添加到EAR文件的根目录。 Noe现在层次结构发挥作用,WEB-INF / lib罐子可以看到EAR罐子,但是EAR罐子看不到WEB-INF / lib罐子。
最后,您可以指定WebSphere“Shared Libarary”。请参阅信息中心了解如何通过控制台轻松完成。共享库有一个类路径,你可以为其添加jar。然后将共享库分配给单个应用程序或整个服务器。
你的WEB应用程序再次可以看到共享库,但我不相信转换是真的。因此,将框架代码放在一个shread库中可能不适合你。