2014-04-16 3 views
1

-cp에 대해 의심의 여지가 있으며 언제 사용해야합니까? 이것은 나의 시나리오이다 : 나는 두 개의 .java, 첫 번째 것을 가지고있다 :실행 Java -cp

패키지 autos.tests.paquete;

공용 클래스 MainAutos {

public static void main(String args[]) { 

int x = Integer.parseInt(args[0]); 

Respotar objeto1 = new Respotar (x); 


int mostrar = objeto1.repostar(); 


System.out.println(mostrar); 

} }

그리고 두 번째 :

패키지 autos.tests.paquete;

공용 클래스 Respotar {

int gasolina; 

public Respotar (int gasolina) { 

    this.gasolina=gasolina; 

} 


public int repostar(){ 

    int gasolina = this.gasolina +20; 



    return gasolina; 
} 

}

글쎄, 나는 루트 디렉토리입니다, 거기, 그 디렉토리가 : 두 된 .java와 자동차/테스트/paquete 합니다. . javac의의 자동차/테스트/paquete/* 자바

을 그리고 루트 디렉토리에서 실행 : 그래서

나는 컴파일 자바 autos.tests.paquete.MainAutos 10 을 그리고 지금 여기 내 의심이가는 작품 :

1) java -cp로 실행합니다. autos.tests.paquete.Main 자동차 10 그리고 행동은 동일합니다.

2) Respotar.class를 auto/tests/paquete에서 다른 디렉토리로 이동하면 java autos.tests.paquete.MainAutos 10으로 컴파일됩니다.

3) MainAutos.class를 auto/tests/paquete에서 다른 디렉토리로 이동하면 java autos.tests.paquete.MainAutos 10으로 컴파일됩니다. 오류 : 기본 클래스 자동차를 찾지 못하거나로드 할 수 없습니다. tests.paquete.MainAutos

4) java -cp로 컴파일합니다. autos.tests.paquete.MainAutos (현재 컴파일중인 현재 디렉토리에 .class가 있으므로 -cp를 사용해야한다고 생각합니다.) 동일한 내용 : Error : 메인 클래스의 자동차를 찾거나로드 할 수 없습니다.

tests.paquete.MainAutos

, 나는 누군가가 가르치 려 수 있기를 바랍니다, 사전에 감사

답변

0

자바 -cp는 현재 클래스 경로에 jar 파일로 어떤 라이브러리를 설정하는 데 사용됩니다 간주한다. 당신이 그 적절한 패키지를 만든 것

javac -d . *.java 

아래의 명령을 사용하여 자바 파일을 컴파일하면 루트 디렉토리에서 아래의 간단한 방법

에 그것을 할 수 있습니다 당신이 보여 예를 들어

하고,

그런 다음 그 아래에 클래스 파일을 배치 동일한 루트 위치에서이 같은 명령을 사용하면 코드를 실행

java autos.tests.paquete.MainAutos