문제

나는 작은 테스트 위바 app에서 또 다른 문제에 직면하고 있습니다. 기본적으로 데이터 액세스를 랩핑하는 EJB 모듈 (Maven-Pom을 통해 생성)이 있으므로 상태가없는 SessionBeans로 구현 된 일부 DAO 만 있습니다. 내 도메인 모델 (JPA2 주석이있는 간단한 pojos)은 다른 간단한 Java, Jar-File로 패키지 될 프로젝트에 있습니다.

Enterprise-Archive를 만들 때 Maven은 WebApp과 EJB- 모듈 만 Application.xml에만 넣고 수동으로 변경하더라도 EJB- 모듈은 배포 시간에 도메인 모듈에서 클래스를 찾을 수 없습니다..

EJB가 자체 아카이브 내에 모든 종속 항아리가 있어야한다는 것에 대해 읽었지만이 도메인 모듈이 다른 프로젝트에서도 사용되기 때문에 믿을 수 없습니다.

내 EJB가 외부 항아리에서 클래스를로드 할 수 있도록 이것을 어떻게 포장하거나 Maven으로 설정합니까?

감사해요

도움이 되었습니까?

해결책

내가 잘 기억한다면, 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>

외부 항아리를 귀에 추가하십시오. 그렇게하려면 그렇게 선언하십시오 jarModule 에서 Maven 이어 플러그인 구성. 보다 모듈 구성.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top