如何在Websphere应用程序服务器中配置Classpath?
我需要在WAS服务器的classpath中添加log4j jar,但我无法放入。请建议。 我试图将这个jar添加到WAS服务器的启动脚本中。如何在Websphere应用程序服务器中配置Classpath?
从管理控制台,选择环境 - >共享库
然后在显示的页面,选择New并按照指示将您添加库。
这取决于你为什么要添加它。如果您正在编写需要在WebSphere运行时内运行的组件(例如,JMX),那么您是否需要从应用程序中访问log4j,如果可以的话,您可以将它添加到应用程序中(即在WEB-INF/lib目录中)库),那么你可以把它放到WebSphere/AppServer/lib/ext中。
正如Michael Ransley所说,您需要确定谁需要log4j。如果它是一个Web应用程序,那么WEB-INF/lib是最好的位置。
如果EJB组件使用它,则将log4j作为实用程序jar放在EAR中。
或者,创建一个共享库并将共享库关联到您的应用程序。
另一种选择是将共享库关联到您的服务器(而不是应用程序),在这种情况下,它可用于该服务器上运行的所有应用程序。
存储在App Server的lib/ext或其他基类路径通常是一个坏主意。原因是这可能会导致冲突(log4j不会导致冲突,但其他Jars可能会导致冲突),并且可能会阻止应用程序服务器启动。
还要记住,根据保存log4j.jar的位置(或通过共享库关联),不同的类加载器将会获取此JAR文件。
嗨,在寻找我的问题时,我发现了这个问题。其实我已经在WAS7.0上外化了资源适配器。我面临的问题是外部资源适配器中的某些类会导入到部署WAR的WEB-INF \ lib中的类。 现在,当我启动websphere时,我得到了classNotFounds。 该jar已被部署为实用程序jar到EAR ..但仍然类似的错误。 ? – 2012-10-09 05:18:35
如果您有需要共享相同的log4j.xml多个web应用,你可以在IBM \的WebSphere砸\ PortalServer \共享\程序\\
否则,把它放在WEB-INF/lib中的您的网络应用。
Robin, 创建共享库不会执行任何操作事情。您需要将共享库与应用程序或应用程序服务器(通过类加载器)关联,以使其成为运行时的一部分。 – Manglu 2010-03-22 23:40:19