작업공간을 보고 작업공간에 있는 EAR 수를 세어보십시오. 가지고 있는
엔터프라이즈 응용프로그램은 몇 개입니까?
엔터프라이즈 응용프로그램 프로젝트(EAR 프로젝트)에 어떻게
엔터프라이즈 응용프로그램 모듈(J2EE 응용프로그램 클라이언트
프로젝트, EJB 프로젝트 또는 웹 프로젝트)을 맵핑했습니까?
클래스 경로에 문제점이 있는지 확인
Java 유틸리티 프로젝트를 사용 중입니까? 아니면 정적 JAR 파일을 사용 중입니까? 정적
JAR 파일을 사용 중일 경우 파일을 배치한 위치는 어디입니까?
정적 JAR 파일은 웹 응용프로그램에서 사용 중인 경우에만 WEB-INF/lib에
놓으십시오. 여러 엔터프라이즈 응용프로그램 모듈(응용프로그램
클라이언트, EJB 또는 웹 프로젝트) 사이에 공유하거나 사용자의 EJB
응용프로그램에서만 사용할 경우에는 엔터프라이즈 응용프로그램(EAR)에 놓으십시오.
모든 프로젝트 유틸리티 JAR을 앞으로 사용할 엔터프라이즈 응용프로그램 모듈에 맵핑했습니까?
엔터프라이즈 응용프로그램 전개 설명자의 모듈 페이지에서
프로젝트 유틸리티 JAR 양식에 Java 프로젝트를
추가했는지 확인하십시오.
Java 유틸리티 프로젝트나 정적 JAR 파일에 포함된 클래스를 다루는
런타임에서 java.lang.NoClassDefFoundError 스택 추적을 가져왔습니까?
엔터프라이즈 응용프로그램 모듈에 대한 Java JAR 종속성을 확인하고
모든 필수 JAR 파일이 이 페이지에서 선택 취소되어 있는지
확인하십시오(프로젝트 > 특성 > Java JAR
종속성을 마우스 오른쪽 단추로 클릭).
엔터프라이즈 응용프로그램을 개발 및 테스트할 때 주의해야 하는
서로 다른 두 개의 클래스 경로가 있습니다.
Java 빌드 경로는 컴파일러가 단지 컴파일 목적으로 종속 클래스를
찾는 데 사용되는 클래스 경로입니다. Java JAR
종속성(MANIFEST.MF 파일의 프론트 엔드)은 엔터프라이즈 응용프로그램이나,
엔터프라이즈 응용프로그램에 포함된 다른 엔터프라이즈 응용프로그램
모듈에 있는 종속 클래스를 찾기 위해 런타임 시 사용됩니다.
따라서 사용자 작업공간에서 응용프로그램이 적절하게 컴파일되고
제대로 작동한다고 생각되어도 java.lang.NoClassDefFoundError 오류가
발생하지 않도록 하기 위해 JAR 종속성 페이지에 동일 JAR을
추가하여 런타임 시 이 JAR이 표시되는지 확인해야 합니다.
항상 Java JAR 종속성에서 먼저 JAR 파일을 선택하십시오. Java 빌드 경로에 자동으로 JAR 파일이 추가되기 때문입니다.
일부 EJB 전개 코드는 사용자가 선택하는 데이터베이스 벤더 유형 및 운영 체제의 영향을 바로 받습니다.
예를 들어, Windows의 DB2를 선택하고 EJB 전개 코드를 생성할 경우,
의도한 런타임 대상이 z/OS 의 DB2이면 실패할 수 있습니다.
EJB에 대해 정의된 백엔드 데이터베이스가 의도한 런타임
데이터베이스 및 운영 체제인지 확인하여
EJB 전개 코드를 생성할 때 코드가 해당 플랫폼에 대해 올바르게 수행되도록 하십시오.
이상적인 상황은 개발 및 프로덕션 데이터베이스가 동일 플랫폼에
있도록 하는 것입니다. 그러나 이는 실현 가능성이 없으므로
여러 백엔드를 작성하고 EJB 전개 설명자에서 이 백엔드 사이를
전환할 수 있습니다. EJB 전개 설명자에서 백엔드를 변경한 후
EJB 전개 코드를 다시 생성하도록 하십시오.
데이터베이스 메타데이터 파일이 손상되지 않았는지 확인하십시오.
작업공간에서 EJB 모듈 백엔드 폴더를 찾으십시오.
데이터베이스 및 스키마 정의 파일에 나열된 모든 테이블을 해당 편집기를 사용하여 열 수 있습니까?
열 수 있으면 메타데이터 파일에는 문제가 없습니다.
열 수 없으면 EJB에서 RDB로 맵핑 마법사를 사용하여 다시 데이터베이스 정보를
가져와(EJB 프로젝트 > EJB에서 RDB로 맵핑 >
맵 생성을 마우스 오른쪽 단추로 클릭) 새 백엔드 정보를 사용하십시오.
EJB를 데이터베이스에 올바르게 맵핑했는지 확인하십시오. (다음은 작업을
상기시키기 위한 예 또는 아니오 질문입니다.)
모든 ejb 속성 및 해당 테이블이 맵핑되어 있습니까?
정의된 ejb 관계가 테이블 사이의 올바른 실제
관계를 제공합니까?
CMR이 외부 키 제한조건에 적절히 맵핑되어 있습니까?
서버 관련 정보에 대한 최상의 소스는 WebSphere Application Server
Information Center에 있습니다. 자세한 정보는 Information Center 및 라이브러리 사이트를 참조하십시오.
스스로 점검할 수 있는 항목은 다음과 같습니다.
콘솔에 표시되는 서버 버전은 무엇입니까?
데이터 소스 구성에 대한 문제입니까?
서버가 정상적으로 시작됩니까?
서버 런타임에 대한 문제점
서버 관련 정보에 대한 최상의 소스는 WebSphere Application Server
Information Center에 있습니다. 자세한 정보는 Information Center 및 라이브러리 사이트를 참조하십시오.
스스로 점검할 수 있는 항목은 다음과 같습니다.
Websphere 문제점 해결 팁을 확인하였습니까?
클래스 로드에 대한 문제입니까?
데이터 소스 구성에 대한 문제입니까?
서버가 정상적으로 시작됩니까?
응용프로그램을 원격 WebSphere Application Server에 공개하려고 할 때 "서버로의 아카이브 업로드 실패" 메시지가 발생합니까?
이 메시지는 Rational Developer를 실행 중인 시스템이 원격 서버의 serverindex.xml에 포함된 IP 주소 또는 호스트 이름을 Ping할 수 없을 경우에 발생할 수 있습니다.
이 문제를 해결하려면 서버 시스템에서 <WAS_HOME>\profiles\<PROFILENAME>\config\cells\<CELLNAME>\nodes\<NODENAME>\serverindex.xml 파일에 정의된 호스트 이름을 수정하고 Rational Developer를 실행 중인 시스템이 분석할 수 있는 이름으로 호스트 이름을 변경하십시오.