2014-11-26 2 views
0

guav 14.0.1에 의존하는 errai-bus를 사용하는 전쟁이 있습니다. Jboss로 앱을 배포하고 있지만 Jboss는 구아바 용접 버전 (구아바 r6 (매우 오래된 버전))을 사용하고 있습니다. 이것은 끔찍한 클래스 로딩 문제를 일으키고 errai-bus는 완전히 작동하지 않습니다.jboss에서 jar 제외 AS 6 클래스 로딩

구아바 14.0.1을 내 pom의 최상위 종속성으로 선언하더라도 구아바 r6을 계속 사용합니다. Jboss가 내 전쟁에서 잘못된 구아바 버전을로드하는 것을 어떻게 막을 수 있습니까?

Jboss AS 6의 클래스 로더 파일에서이 작업을 수행하는 방법에 대한 정보를 찾으려고했지만 문서를 찾을 수없는 것 같습니다. 이 경우

<classloading xmlns="urn:jboss:classloading:1.0" 
       name="mywar.war" 
       domain="mywar_domain" 
       parent-domain="Ignored" 
       export-all="NON_EMPTY" 
       import-all="true"> 
</classloading> 

를 자신의 도메인을 정의하지 않는 모든 다른 응용 프로그램과 공유하는 mywar_domain에 전쟁의 클래스 로더를 넣어 :

답변

1

당신은 당신의 WEB-INF 폴더에 다음 jboss-classloading.xml를 추가 시도 할 수 있습니다. 또한 다른 응용 프로그램에서 내 보낸 다른 모든 클래스 import-all을보고 모든 클래스를 다른 클래스 export-all에 노출하도록 선택하십시오.

이 파일을 배포 할 때 웹 응용 프로그램 클래스 로더가 최상위 클래스 로더으로 작동하므로 서버 라이브러리의 동일한 클래스와 충돌이 발생하지 않습니다.

은 참조 : 6 AS

어쨌든 JBoss는 유효 기간이 경과하고, 해결되지 않은 데 많은 버그가 있습니다. 최신 버전 (Wildfly 또는 JBoss EAP 6)을 사용할 수 있는지 확인해야합니다.

+0

감사합니다. 월요일에 시도해 보겠습니다. JBoss AS 6에서 Wildfly로 전환하려고 노력하고 있지만 느린 프로세스이므로 프로세스가 완료되기 전에이 작업을 수행하려고합니다. – CorayThan