2012-09-06 3 views
0

enter image description here이 문제에 대한 조언이 필요합니다 ... 다른 시스템의 유틸리티로 사용되는 프로그램이 있습니다. 내 프로그램의 기능은 데이터베이스를 모니터하고 특정 값으로 특정 항목을 찾는 것입니다. 이 값은 주 시스템이 항목을 더 이상 처리 할 수없는 특정 조건을 만났을 때 생성됩니다. 특정 값을 찾으면 내 프로그램은 처리에 필요한 요구 사항을 사용할 수 있는지 확인하고 시스템이 처리를 중단 한 메소드를 호출하여 항목을 완료 할 수 있도록합니다."timer-0"스레드의 예외 java.lang.NoClassDefFoundError

메인 프로그램의 메소드를 호출 할 때마다 내 프로그램에서 오류가 발생합니다. 명령 프롬프트에 "스레드의 예외"timer-0 "java.lang.NoClassDefFoundError"오류가 표시됩니다.

주 프로그램이 계속 실행 중입니다. 항목이 완료 될 때마다 다른 항목을 가져옵니다. 따라서 내 프로그램이 현재 주 시스템에서 사용중인 방법을 호출 할 수 있습니다.

NoClassDefFoundError에 필요한 메소드를 찾지 못하거나 내 프로그램이 예외에 따라 주 프로그램에서 현재 사용중인 메소드를 호출하려고하는 경우 오류가 내 프로그램으로 인한 것인지 확실하지 않습니다. 스레드 "timer-0"에 있습니다.

또한 주 프로그램과 내 프로그램에서 스레드를 사용하지 않습니다.

+1

NoClassDefFoundError는 일반적으로보고되는 클래스의 초기화에서 몇 가지 문제를 지적합니다. 전체 스택 추적을 게시 할 수 있습니까? –

+1

문제를 좁혀보십시오. 타이머와 관련이 없어야합니다. 타이머없이 재생산 해보십시오. 예외 클래스가 클래스 경로에 있는지 확인하십시오. 실패한 정적 초기화 프로그램을 찾으십시오. –

+0

나는 위의 오류를 게시 ... 감사합니다! – ides

답변

4

NoClassDefFoundError은 프로그램이 클래스 경로에 있지 않은 클래스를로드하려고했거나 엄격하게 클래스 로더로 해결할 수 없음을 의미합니다.

이 아닐 경우이 작동하지 않으면 클래스 패스에 필수 라이브러리를 포함하지 않고 간단히 시작할 수 있습니다.

또는 원격 응용 프로그램의 내부 클래스가 호출자에게 다시 전달되어 인스턴스화 될 수 없을 때 Java 응용 프로그램간에 통신하는 것을 본 적이 있습니다. 예를 들어, 원격 응용 프로그램은 SQLException의 사용자 정의 하위 클래스를 던지는 JDBC/ORM 프레임 워크를 사용할 수 있습니다. 이 예외는 원격 호출을 통해 위로 돌아오고 특정 하위 클래스를 인스턴스화 할 수없는 로컬 앱으로 되돌아갑니다. 후자의 경우 원격 앱의 로그를보고 거기에서 발생하는 문제를 발견 할 수 있는지 확인하십시오.

어쨌든 일부 클래스/JAR을 클래스 경로에 추가하여 해결할 수 있습니다. 그것은 정확하게 하나를 해결하기위한 도전 일 수 있습니다. "주방 싱크대"접근법은이 특정 문제를 극복하고 근본적인 문제가 무엇인지 파악하는 데 도움이 될 수 있습니다.

+0

Thanks! 내 라이브러리 중 하나가 서버에서 손상된 것 같습니다. 내 라이브러리를 다시로드 한 후에 모두 작동했습니다. – ides

+0

정말 감사합니다. Andrzej ..... – chopss

관련 문제