2014-06-06 1 views
0
package p1; 
public class test_package{ 
public void show(){ 
System.out.println("package1"); 
} 
public static void main(String args[]){ 
test_package t=new test_package(); 
t.show(); 
} 
} 

컴파일 된 패키지가 D에 저장됩니다 만든 최초의 클래스입니다 : 디렉토리 ... 그것을 잘 실행 ... 지금 .. . 여기 예외 : 여기

package p2; 
import p1.test_package; 
public class test_package2{ 
public void show(){ 
System.out.println("package2 in c:"); 
} 
public static void main(String args[]){ 
test_package2 T=new test_package2(); 
test_package T1=new test_package(); 
T.show(); 
T1.show(); 
} 
} 

먼저 클래스를 가져 오는 다른 클래스이며,이 C에 저장됩니다 : 내가 cmd를 명령

set classpath=D: 

를 사용하여 temperory 경로를 설정 한 ... 디렉토리 와 C에서 컴파일 : 통신을 사용하여 및 javac의 -d를의 C : test_package2.java

내가 C에서 명령을 실행하고 있습니다 :

java p2.test_package2 

는 오류

exception in thread "main" java.lang.NoClassDefFoundError 

을 던지고 있지만의 .class 파일에 D : 드라이브 .....에있는 p1 패키지 누군가가 해결책이 있다면 저를 도우십시오.

+0

CLASSPATH에 클래스가있는 곳 (예 : ClASSPATH = dir1; dir2)에 추가하려고 시도 했습니까? – excray

+0

예, 작동하지 않았습니다. 같은 오류가 발생합니다. – KAPIL

답변

0

JVM이 test_package2의 class_path 인 D :에서 test_package를 찾을 수 없기 때문입니다. test_package2의 빌드 경로에 test_package를 추가하십시오. Eclipse에서 test_package2> 빌드 경로> 빌드 경로 구성> 외부 클래스 폴더 추가 (또는 test_package를 압축하고 외부 라이브러리로도 사용할 수 있음)를 마우스 오른쪽 단추로 클릭하여이 작업을 수행 할 수 있습니다. 이제 test_package2로 가져 오십시오. 실행해야합니다.

+0

Eclipse를 사용하지 않고 있습니다 ... 경로가 설정되어 있어도 런타임에 패키지 p1을 찾지 못하는 이유를 알려주십시오. – KAPIL

+0

프로그램을 실행하기위한 모든 단계를 나열 할 수 있습니까? 또한 디렉토리 구조. – Kode