Websphere Liberty 프로파일 (최신 버전 16)에서 작동하는 일부 레거시 코드를 얻으려고합니다.Websphere에서 클래스 로더 가시성을 얻는 방법 EAR의 jar와 공유 라이브러리 간의 Liberty Profile
이 코드는 내가 문제를 얻고있다
귀가 와서 공유 WLP 도서관 설치 및 응용 프로그램으로 설정 한 도서관의 건축 세트의 형태로 제공됩니다 어디에 몇 가지 코드 라이브러리 중 하나에있는 jar는 EAR 안에있는 클래스를 인스턴스화하려고 시도합니다 (lib 폴더의 jar 파일에 있음).
나는이 스택 트레이스 받고 있어요 :
Caused by: java.lang.ClassNotFoundException: com.isb.holamu.fnegocio.ln.AAL_FNegocioFactory <-- This class (1) is inside a .jar inside the EAR
at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:491)
at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:274)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:469)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:441)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.isb.bs.bl.base.MetaFacadeFactory.createFactoryInstance(MetaFacadeFactory.java:74) <-- This class (2) is in the shared library in WLP.
을 그리고 이것들은 server.xml의에서 관련 비트입니다 :
<!-- Server shared library -->
<library id="architecture" >
<fileset dir="${server.config.dir}/lib/jars" includes="*.jar" scanInterval="5s"/> <-- (2) is here
</library>
<enterpriseApplication autoStart="true" id="sample" location="sample.ear" name="sample"> <-- (1) is here
<classloader commonLibraryRef="architecture" delegation="parentFirst"/>
</enterpriseApplication>
공유 라이브러리 클래스 로더에 액세스 할 수있는 EAR 클래스 것처럼 보인다 그리고 그 클래스들과 공유 라이브러리 클래스는 EAR 내부의 것들을 찾을 수 없다.
누구나이 작업을 수행하는 방법에 대한 단서를 제공 할 수 있습니까?
감사합니다.
감사 :
--joe
–