2014-10-01 6 views
2

My EAR은 공통 항아리, EJB 항아리 및 WAR로 구성됩니다. WAR는 스프링 컨텍스트를 사용하므로 META-INF 디렉토리의 spring-namespace 설명 파일에 의존합니다.EAR의 WAR - jboss-deployment-structure.xml이 무시되었습니다.

내 WAR/JBoss에 배포-structure.xml 내가 EAR과 각각 따로 전쟁 배포하는 경우, 응용 프로그램이 완벽하게 작동

<module name="org.springfw"> 
    <imports> 
     <include path="META-INF**" /> 
     <include path="org**" /> 
    </imports> 
</module> 

이 포함되어 있습니다.

EAR 내부에 같은 WAR를 배치하면 ClassNotFoundException (org.spring ... ContextLoaderListener)로 실패합니다. 응용 프로그램과 함께 시작에 실패, "org.springfw 종속성"

글쎄, 난 내 WAR/META-INF는/MANIFEST.MF를 편집하고 추가

XML 스키마 네임 스페이스 봄 NamespaceHandler가를 찾을 수 없습니다 [http://www.springframework.org/schema/context]

이것은 META-INF 파일이 아니라 클래스를 사용할 수 있음을 의미합니다.

요약 : WAR를 EAR 내에 배치하면 WAR의 매니페스트 (작동하지만 META-INF 디렉토리는 가져올 수 없음)를 통해 모듈을 가져올 수 있지만 WEB-INF/jboss- deployment-structure.xml은 항상 무시됩니다.

편집 :

모듈 기술자가

<resource-root path="spring-context-3.2.10.RELEASE.jar"> 
     <filter> 
      <include path="META-INF**" /> 
      <include path="org**" /> 
     </filter> 
</resource-root> 
+1

배포 구조는 최상위 수준 META-INF 폴더에 있어야합니다 참조하십시오. – cy3er

+0

내가 올바르게 이해한다면 Jboss는 EAR에 하나의 deployment-structure.xml 만 허용합니까? –

+0

아마 그것을 무시할 것입니다. [doc] (https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7#ClassLoadinginAS7-JBossDeploymentStructureFile) – cy3er

답변

1

deployment-structure.xml<sub-deployment>을 지정하십시오.

그리고 이미 말했듯이이 xml은 최상위 이어 메타 inf에 있어야합니다.

그것이 EAR의 META-INF에 있어야 EAR의 경우 있도록 jboss-deployment-structure.xml does not loads the dependencies in My EAR project

+0

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품절 포스트/11462914) – MSeifert

+0

감사합니다. –