WebLogic 10.0에서는 WLS의 "공유 J2EE 라이브러리"(http://download.oracle.com/docs/cd/E11035_01/wls100/programming/libraries.html) 기능을 사용하여 여러 개의 귀로 액세스 할 수 있어야하는 병을 그룹화합니다. 이 항아리들은 시스템 클래스 패스에 있었고, 나는 그것들을 공유 라이브러리로 옮기려고했다.참조하는 앱에 Weblogic 10 공유 라이브러리가 표시되지 않습니다.
내 문제는 다음 WLS 웹 관리 콘솔에서
- 내가 배치에서
- 은 "이 라이브러리를 참조하는 응용 프로그램"목록 ("theSharedLib"라는 이름의) 공유 라이브러리를 클릭 비어
- weblogic.Deployer를 사용하여 lib를 배포 취소 할 수도 있지만 다음에 서버를 다시 시작하면 참조하는 응용 프로그램을로드 할 때 누락 된 참조 라이브러리가 누락됩니다.
그래서 시작할 때 참조가 적용되지만 런타임에 WLS가 어떻게 든 이것을 잊어 버린 것 같습니다 (여기에 몇 가지 마술 트릭이 필요합니까?).
또한이를 수 :
- theSharedLib (아무 불평) someReferencingApp 배포 취소
- (확인) 배포 취소
- someReferencingApp (오류없는 LIB!)
- 배포 theSharedLib (확인) 을 배포
- someReferencingApp를 배포합니다 (ok; 웹 콘솔에 앱이 나열되지만 다음에 다시 시작하거나 임의의 다른 배포 후에 목록이 다시 비어 있음)
- META-INF
- MANIFEST.MF
- application.xml을
- LIB
-
: 폭발 디렉토리 형식의 공유 lib에 귀 16,
구조
- (물건을 내가 단지로 공유 할 필요)
MANIFEST.MF에 포함 된 (뭔가를 포함하기 때문에)
..
확장 - 이름 : theSharedLib
사양-버전 : 1.0
구현-버전 : 1.0.0
..
application.xml에는 기본 요소 (하나의 dummyejb ejb 모듈)가 포함되어 있습니다.참조 앱
구조 : 그것은 META-INF/로직-application.xml을 함유했다 중에서도
:
< XML 버전 = 1.0 " "? >
< 웹 로직 애플리케이션 >
< 라이브러리-REF >
< 라이브러리 이름 > theSharedLib </라이브러리 이름 >
< 사양 버전 > 1.0 </사양 버전 >
< 구현 버전 > 1.0.0 </구현 버전 >
< 정확히 일치 > 사실 </정확히 일치 >
</라이브러리-REF >
</웹 로직 애플리케이션 >
무슨 문제가 될 수 있을까? 공유 라이브러리 나 참조하는 앱에서 (1) 참조 목록을 올바르게 작성하고 가장 중요하게 (2) 앱간에 항아리를 공유하도록 다른 작업을 수행해야합니까?
lib 내의 공유 jar가 각 응용 프로그램의 공유 라이브러리에있는 동일한 클래스 로더를 사용하여로드되어 sys 클래스 경로 동작과 거의 유사하게 동작한다고 가정합니다. 이것도 확인해 주시겠습니까?
감사합니다.
(오랜 시간이 걸리므로 시간이 많이 걸렸기 때문에) 미안하지만 공유 라이브러리가 실제로 잘 배치되었는지는 확실하지 않습니다. 문제를 명확히 할 수 있습니까? –
@Pascal : 예, weblogic.Deployer ... -library를 사용하여 공유 라이브러리를 배포했습니다. 웹 콘솔에서 배포 된 라이브러리의 상태는 "라이브러리"입니다. 배포중인 공유 라이브러리가 없으면 참조하는 응용 프로그램은 도메인 시작시 불만을 제기하고 "새로 만들기"상태를 갖지만 공유 된 lib가 배포 되더라도 설명 된 효과가 표시됩니다. – ron
이상한 일들이 좋아 보인다. MANIFEST.MF에서 참조되는 lib에있는 JAR 파일입니까? –