2011-08-25 2 views
0

Oracle 10g Application Server에서 Oracle 11g Weblogic Server로 Java EE 응용 프로그램을 포팅합니다.Java EE 응용 프로그램 포팅 - Oracle 11g Weblogic 서버에 Oracle 10g AS

나는 Connection 관련 클래스를 포함하고 있으며 war/web-inf/lib 내에 존재하는 common.jar를 가지고 있습니다. 응용 프로그램은 EAR로 배포되며 ejbs는 common.jar 내의 클래스를 참조하여 DB 연결을 가져옵니다. EJB는 런타임에 이러한 클래스에 대한 참조를 가져올 수 없습니다. common.jar을 APP-INF/lib 디렉토리에 복사했습니다.이 경우 JSP의 Connection 관련 클래스에 대한 참조를 가져올 수 없습니다. SQL 코드가 포함 된 jsp가 있습니다. 이 응용 프로그램은 개발 된 방법이었고 비즈니스 지식으로는이 코드를 지금 변경하지 않아도됩니다.

이 문제를 어떻게 해결할 수 있습니까? ejb가 war/web-inf/lib에있는 클래스에 대한 참조를 얻는 방법.

답변

0

클래스에 대해 WAR WEB-INF/lib를 EJB로 들여다 볼 수 없습니다. Weblogic의 경우 Classloader Hierarchy에 대한 것입니다. APP의-INF/lib 디렉토리에있는 일반적인 항아리를 두는

웹 로직 서버는 저장 유틸리티 클래스를 공유 할 수있는 EAR 파일 내의 위치를 ​​제공 갈 수있는 올바른 방법입니다. APP-INF/classes 디렉토리의 APP-INF/lib 디렉토리 및 개별 클래스에 유틸리티 JAR 파일을 배치하십시오./classes 디렉토리 또는 JRE 파일을/lib 디렉토리의 클래스에 두지 마십시오.이 클래스는 응용 프로그램의 루트 클래스 루트로로드됩니다.

JSP를로드 할 수 없으면 오류를 게시 할 수 있습니까? 이 ClassNotFoundException 또는 NoClassDefFoundError 또는 다른 것입니까?

Best practices for using Shared Java EE Libraries