В то время я пытаюсь добавить сторонние библиотеки в EJB-JAR. Пока мне кажется, что это невозможно, но я не уверен, и почему это невозможно.Сторонние библиотеки в EJB-JAR
Я хочу создать отдельные EJB-JARs и WARs, не складывая их в один EAR.
Арьян Tijms показывает в Java EE - EAR vs separate EJB+WAR три способами, и clearify его, я хочу вариант 2.
Мое собственное исследование приходит главным образом на вопросы со следующими ответами J2EE: How to package 3rd party JARs into an EJB jar?, но я не хочу файл EAR.
На сайте oracle отображается следующая упаковка для EJB-JAR: EJB packaging, у которых нет собственного каталога lib, такого как WAR. Я уже пытался поставить libary в корневой каталог (используя eclipse + JBoss 7). Мой первый вопрос: возможно ли добавить лишние библиотеки в EJB-JAR, например, в WAR-файл? Это меня смущает, потому что можно развернуть простой EJB-JAR на сервер приложений, но, похоже, вы не можете добавить сторонние библиотеки. Для меня EAR, кажется, в основном «overkill», потому что для меня нет никакого реального преимущества, а во-вторых, если я помещаю библиотеку в EAR, разные коннекторы EJB-JARs используют разные версии из сторонних библиотек. Я хочу, чтобы EJB-JAR полностью независим от других EJB-JAR и WAR. Я только создал дополнительный простой проект jar, который содержит интерфейсы, которые должны быть реализованы, и добавляется к каждому проекту EJB и проекту WAR. Это подводит меня к вопросу 2: Я использовал для EAR, если да, то почему? Мне кажется, что я чего-то еще не понимаю.
Вы очень стараетесь сделать это без использования .ear. Это не слишком много, это решение вашей проблемы. Вы уже нашли соответствующий вопрос, он работает, просто сделайте это. – Beryllium
Здравствуйте, Beryllium, что делать, если некоторым EJB-JAR нужны разные версии сторонних библиотек. Должны ли использоваться разные EAR? – user2680083
Возможно, есть способ определить отдельные загрузчики классов для каждого ejb-jar, но он задает проблемы. Опять вместо того, чтобы пытаться найти особый путь вокруг него, я предлагаю использовать только ** одну ** версию конкретной банки. – Beryllium