Как настроить загрузчик классов для ear в websphere 6.1 (в частности, wsdl4j) - PullRequest
2 голосов
/ 27 марта 2009

У меня есть файл war (на самом деле не мой, это Apache ODE 1.2), который не удается развернуть в WAS 6.1 из-за проблемы с загрузчиком классов - и из-за определенной несовместимости с wsdl4j. Если я вручную отредактирую загрузчик классов для ODE и создаю разделяемую библиотеку для wsdl4j1.6.1, то все в порядке.

Однако клиент вернулся, заявив, что это неприемлемо, и что я должен предоставить ухо, которое является автономной установкой, без каких-либо ручных действий.

Мне удалось создать файл ear, который объединяет войну, но я не могу найти какую-либо релевантную информацию о том, как включить shared-lib в ear - и использовал ли он в начале загрузчика классов (необходимо предпочтение wsdl4j в комплекте с WAS). Нужно ли изменять конструкцию ушного файла? Или application.xml?

Может кто-нибудь предложить какую-нибудь помощь? Как вы можете догадаться, я из "tomcat просто нуждается в файле войны", изо всех сил пытаясь справиться с файлами уха.

Мой application.xml просто содержит: http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> XXX ODE ode.war ода и т.д.

1 Ответ

1 голос
/ 27 марта 2009

У вас есть три простых шага, чтобы выполнить это

  1. Поместите флягу в ухо, мы обычно создают каталог lib, но это не обязательно.
  2. Обновите манифест для войны, чтобы включите этот файл jar.
  3. Установите политику загрузки классов для вашего уха: PARENT_LAST. Это необходимо для загрузить свои локальные (до ушей) классы до тех, которые загружаются сервером.

Edit: В качестве альтернативы, поскольку вы используете EAR только для переноса WAR-файла, а не для совместного использования файла JAR.

  1. Поместите банку в каталог lib WAR.
  2. Установите политику загрузки классов для вашего уха на PARENT_LAST. Это необходимо для загрузить свои локальные (до ушей) классы до тех, которые загружаются сервером. Я делаю это через RAD, редактируя файл application.xml. Это специфическая конфигурация IBM, поэтому, если вы не используете RAD, вам придется выяснить, какие файлы нужно изменить вручную.

Это должно привести к постоянной войне между серверами приложений.

...