2012-10-25 3 views
1

,이 메시지 오류입니다 :사용 클래스는

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Layout

이상한 것은 swt.jar\ext 디렉토리에 나는 아무 문제가 없다 이클립스에서 새 프로젝트를 만들 때 내 CLASSPATH이 항아리에서 모든 수입은 잘 작동 C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext

하지만 cmd를에이 오류를 얻고있다.

도와주세요!

답변

2

당신은 그 Jar File

C:\Program Files\Java\jdk1.6.0_26\jre\lib\ext\swt.jar 

그냥 제안에 따라 클래스를 사용하려면, Jar File까지 클래스 경로를 설정해야합니다 : - ext 디렉토리에 JAR 파일을 넣지 마십시오. 다른 곳에 넣어.

Eclipse까지는 환경 변수에 System Classpath 집합을 사용하지 않습니다. Eclipse에서 사용하는 동안 프로젝트의 lib 디렉토리에 Jar File을 넣고 BuildPath에 Jar File을 추가해야합니다.

2

Eclipse를 비롯한 IDE 및 Tomcat과 같은 Java EE 애플리케이션 서버는 CLASSPATH와 같은 환경 변수에는 신경 쓰지 않습니다.

swt.jar와 같은 JAR이 jre/lib/ext 디렉토리에 속해 있다고 생각하지 않습니다. 오라클의 JVM 확장에만 해당되어야합니다.

다른 모든 타사 JAR과 함께 project/lib 디렉토리에 추가하고 Eclipse 및 시작 스크립트에서 CLASSPATH를 올바르게 설정해야합니다.

+0

cmd로 jar 파일을 실행할 때 swt.jar 클래스를 사용하는 .jar 파일을 만들었습니다.이 메시지가 나타납니다. jar 파일에 액세스 할 수 없습니다. 이 2 개의 jar 파일이 내 프로젝트/lib 디렉토리에 있습니다. –

+0

Id javac MyClass.java를 사용할 때와 같은 문제가 없기 때문에, 클래스 패스 나 java 설치에 문제가 있는지는 알 수 없습니다. 그러나 java MyClass를 사용하면이 오류 메시지가 표시됩니다. "java.ClassNotFoundException : MyClass.java " –

+0

CLASSPATH가 어떻게 작동하는지 알아야합니다./lib 디렉토리의 각 개별 JAR을 Windows의 세미콜론으로 구분하여 -cp를 설정해야합니다. 이들을/lib 디렉토리에 두는 것만으로는 충분하지 않습니다. – duffymo