如何在websphere 6.1中配置earlo的类加载器(特别是wsdl4j)

时间:2009-03-27 14:12:22

标签: java ant websphere

我有一个war文件(实际上不是我自己的,它的Apache ODE 1.2)由于类加载器问题而未能部署到WAS 6.1中 - 并且与wsdl4j具有特定的不兼容性。 如果我手动编辑ODE的类加载器并为wsdl4j1.6.1创建一个共享库,那就没关系。

然而,客户回来说这是不可接受的,我应该提供一个独立安装的耳朵,不涉及手动步骤。

我已经能够构建捆绑战争的ear文件,但是我找不到任何关于如何在耳内包含共享库的相关信息 - 并且在类加载器的开头使用了它(需要优先于WAS捆绑的wsdl4j)。我需要修改ear文件构造吗?还是application.xml?

任何人都可以提供任何帮助吗? 正如你可能猜到的那样,我来自“tomcat只需要一个战争文件”背景,努力想要掌握耳朵文件。

我的application.xml只包含: http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">     XXX ODE                           ode.war             颂                    等

1 个答案:

答案 0 :(得分:1)

您有三个简单的步骤来完成此操作

  1. 将jar文件放入耳中,我们 通常创建一个lib目录, 但这不是必要的。
  2. 将战争的清单更新为 包括这个jar文件。
  3. 为您的耳朵设置类加载策略 PARENT_LAST。这是必需的 加载你的本地(到耳朵)类 在服务器加载之前。
  4. 编辑: 作为替代方案,因为您只使用EAR来包装WAR而不是实际共享jar文件。

    1. 将jar放在WAR的lib目录中。
    2. 为您的耳朵设置类加载策略 PARENT_LAST。这是必需的 加载你的本地(到耳朵)类 在服务器加载之前。我是通过编辑application.xml文件通过RAD完成的。它是IBM特定的配置,因此如果您不使用RAD,则必须确定要手动更改的文件。
    3. 这应该会让您在应用服务器之间保持一致的战争。