Как упаковать EJB3 с внешним доменом-jar - PullRequest
1 голос
/ 12 января 2010

В моем маленьком тестовом веб-приложении я столкнулся с другой проблемой. У меня есть модуль EJB (созданный через maven-pom), который в основном обертывает доступ к данным, поэтому все, что он делает, это некоторые DAO, реализованные как Stateless-SessionBeans. Моя доменная модель (простые POJO с аннотациями JPA2) находится в другом простом Java-проекте, который будет упакован в jar-файл.

Когда я создаю корпоративный архив, maven только помещает webapp и ejb-модуль в application.xml, и даже когда я изменяю это вручную, ejb-модуль не может найти классы из доменного модуля в время развертывания .

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

Как мне упаковать это (или настроить в maven), чтобы мой ejb мог загружать классы из внешнего jar?

спасибо

1 Ответ

1 голос
/ 12 января 2010

Если я хорошо помню, просто сгенерируйте манифест с записью Class-Path в вашем EJB-JAR:

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ejb-plugin</artifactId>
    <configuration>
      <ejbVersion>3.0</ejbVersion>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
        </manifest>
      </archive>
    </configuration>
  </plugin>
  ...
</plugins>

И добавьте ваши внешние банки в EAR. Для этого объявите их как jarModule в конфигурации Maven EAR plugin . См. Конфигурация модулей .

...