Удаление зависимостей общей библиотеки в Websphere

У меня есть приложение, содержащее портлеты, в которых один проект является общим для всех проектов. В общем проекте у меня есть общая библиотека, и я настроил ее в веб-сфере.

Новое требование заключается в том, что я должен удалить зависимость от общей библиотеки и включить все эти библиотеки в сам проект. Но когда я это делаю, я получаю ClassCastException, что правильно, потому что общий проект работает в diff JVM, а все остальные проекты - в diff one.

Я пробовал подход «установить дополнительные пакеты», но тщетно.

Есть ли способ решить проблему.? Любая идея была бы здорово двигаться вперед.


person sriesow    schedule 13.02.2014    source источник


Ответы (1)


Если ваш общий проект смешан с общими классами, отдельными классами и ресурсами, выделите ваши общие классы в отдельный проект с отдельным jar. Затем включите эту jar в качестве библиотеки в папку WEB-INF/lib вашего веб-проекта, содержащую ваши портлеты. Некоторые примеры структур находятся здесь.

Если у вас есть несколько веб-проектов, и все они находятся в одном ear, вы также можете поместить общий jar в файл ear. Если вы выберете это решение, jar нужно будет добавить в путь к классам для любого модуля в ear, которому требуется доступ к нему. Вам необходимо обновить файл MANIFEST.MF в каталоге META-INF для модуля, которому требуется доступ к банке.

person DanielBarbarian    schedule 13.02.2014
comment
Спасибо за ответ. Общий проект также является веб-проектом. - person sriesow; 13.02.2014
comment
Хорошо, а что у вас есть в общей библиотеке? Это только классы из общего проекта или он содержит все из общего проекта? - person DanielBarbarian; 13.02.2014
comment
Только классы, скомпилированные в jar и некоторые настроенные jar-файлы портлета. - person sriesow; 13.02.2014
comment
Не зная всей структуры вашего решения. Если у вас есть классы, совместно используемые несколькими приложениями, вы можете пойти несколькими путями. Один из них — выделить ваши общие классы в отдельный проект. Затем вы добавляете эти классы в банку, которую включаете во все те веб-проекты, которые в них нуждаются. - person DanielBarbarian; 13.02.2014
comment
Спасибо, Даниэль. Я рассмотрю ваш вариант. - person sriesow; 13.02.2014