2013-07-22 3 views
0

TableDrivenVaccumAgent.java 일부 로봇 클래스 예제를 검색하는 동안 C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext 경로에 필수 항아리가 포함되어 있지만 성공적으로 컴파일 한 후에 오류가 발생했습니다.java : 컴파일 후 프로그램을 실행할 수 없습니까? 도와주세요

Exception in thread "main" java.lang.NoClassDefFoundError: TableDrivenVacuumAgent (wrong name: aima/core/environment/vacuum/TableDrivenVacuumAgent) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(Unknown Source) 
     at java.security.SecureClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.access$100(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 

이제 오류는 다음과 같습니다 : NoClassDefFoundError를의

Exception in thread "main" java.lang.NoClassDefFoundError: TableDrivenVaccumAgent (wrong name: aima/core/environment/vacuum/TableDrivenVaccumAgent) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(Unknown Source) 
     at java.security.SecureClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.access$100(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
+10

설명에 파일 이름과 클래스 이름이 일치하지 않습니다. – LostBoy

+0

이 클래스는 어떻게 실행하고 있습니까? 그것은 'java aima.core.environment.vacuum.TableDrivenVacuumAgent'와 같아야합니다. –

+1

'C : \ Program Files \ Java \ jdk1.7.0_25 \ jre \ lib \ ext' *** ***에 Jars를 넣지 마십시오. . 그렇게하라는 조언을 발견하면 무시하십시오. Sun은 그것을 사용하지 않을 시간이 있다고 말하고있었습니다. –

답변

1

NoClassDefFoundError in Java comes when Java Virtual Machine is not able to find a particular class at runtime which was available during compile time. For example if we have a method call from a class or accessing any static member of a Class and that class is not available during run-time then JVM will throw NoClassDefFoundError.

명백한 이유는 특정 클래스를 사용할 수없는 것입니다

나는 다음과 같은 오류를 해결하기 위해 더 많은 일을 무엇을 필요로한다 클래스 패스에 추가해야하므로 클래스 패스에 추가해야합니다. 그렇지 않으면 클래스 패스에서 사용할 수없는 이유를 확인해야합니다. 다음과 같은 여러 가지 이유가있을 수 있습니다.

  1. 클래스는 Java 클래스 경로에서 사용할 수 없습니다.

  2. jar 명령을 사용하여 프로그램을 실행할 수 있으며 클래스가 인 경우 매니페스트 파일의 ClassPath 속성에 정의되어 있지 않습니다.

  3. 모든 시작 스크립트가 클래스 경로 환경 변수를 대체합니다.

1

Java의 NoClassDefFoundError는 Java Virtual Machine이 컴파일 타임에 사용 가능한 런타임에 특정 클래스를 찾을 수없는 경우에 발생합니다. 예를 들어, 클래스로부터 메소드 호출을 받거나 클래스의 정적 멤버에 액세스 할 때 런타임 중에 해당 클래스를 사용할 수 없다면 JVM은 NoClassDefFoundError를 발생시킵니다.