2012-03-31 3 views
1

좋습니다. 나는 일주일 전에 자바에 관한 책을 주문했다. (Sams는 21 일 동안 자바를 가르친다.) 그리고 그것은 어제 들어왔다. 내가 처음 예제 코드 일하고, 나는 주요 코드를 컴파일 할 때이 오류가 점점 계속 :JDK 문제 - 클래스 파일을로드 할 수 없습니다.

C:\VolcanoApplication.java:5: error: cannot find symbol

VolcanoRobot dante = new VolcanoRobot();

^

symbol: class VolcanoRobot

location: class VolcanoApplication

C:\VolcanoApplication.java:5: error: cannot find symbol

VolcanoRobot dante = new VolcanoRobot();

    ^

symbol: class VolcanoRobot

location: class VolcanoApplication

그리고 임 컴파일을 시도하는 주요 코드 것은 :

public class VolcanoApplication 
{ 
    public static void main(String[] arguments) 
    { 
     VolcanoRobot dante = new VolcanoRobot(); 
     dante.status = "exploring"; 
     dante.speed = 2; 
     dante.temperature = 510; 

     dante.showAttributes(); 
     System.out.println("Increasting speed to 3."); 
     dante.speed = 3; 
     dante.showAttributes(); 
     System.out.println("Changing temperature to 670."); 
     dante.temperature = 670; 
     dante.showAttributes(); 
     System.out.println("Checking the temperature."); 
     dante.checkTemperature(); 
     dante.showAttributes(); 
    } 
} 

과 VolcanoRobot.java 파일 :

public class VolcanoRobot 
{ 
    String status; 
    int speed; 
    float temperature; 

    void checkTemperature() 
    { 
     if(temperature > 660) 
     { 
      status = "returning home"; 
      speed = 5; 
     } 
    } 

    void showAttributes() 
    { 
     System.out.println("Status: " + status); 
     System.out.println("Speed: " + speed); 
     System.out.println("Temperature: " + temperature); 
    } 
} 
나는 (내가 XP를 실행하는거야) 명령 프롬프트에서 어디서든 실행 javac의를 얻을 수 없습니다입니다

그래서 나는 내 javac.exe가 (C 곳으로 이동 : \ 프로그램 파일 \ 자바 \ jdk1.7.0_03 \ bin) 및 VolcanoApp 컴파일 거기에서의 화술 (VolcanoApplication은 C의 루트에서 발견된다. :)

자바를 입력하면 어디서나 자바를 입력 할 수 있지만 javac는 메뉴가 아니다. 경로와 클래스 경로 변수를 선언했지만 아직 작동하지 않습니다. 어떤 제안?

+0

@ Alex St-Laurent : IDE를 설치하고 실제 문제에 집중하십시오. – Jayan

+0

죄송합니다. 뭐라고 요? –

+0

@ Alex St-Laurent : 책에서 시작했다고 언급했습니다. 내 의견은 IDE를 사용하여 실제 문제에 집중할 수 있습니다. intelliJ : http://www.jetbrains.com/idea/를 사용해보십시오. 또는 식. – Jayan

답변

2

가장 좋은 방법은 환경 변수로 이동하여 을 변경하여 C:\Program Files\jdk1.7.0_03\bin을 포함하도록 변경하여 모든 디렉토리에서 javac을 작동시키는 것입니다.

일단 명령을 입력하면 javac을 입력하면됩니다.

이유는 javacVolcanoRobot.java 파일을 찾지 못하기 때문에 javac이 소스 파일을 검색하는 경로에 없습니다. 기본적으로, 그 경로는 현재 디렉토리를 포함, 그래서 디렉토리에 당신 cd 다음

javac VolcanoRobot.java VolcanoApplication.java 

VolcanoApplication.javaVolcanoRobot.java를 포함하면 ... 그것을해야한다. 업데이트을

javac -cp . VolcanoRobot.java VolcanoApplication.java 

당신은 다음을 실행할 수 있어야합니다

java VolcanoApplication 

를 통해 ... 또는

java -cp . VolcanoApplication 

: 그렇지 않은 경우 -cp .를 추가 : 내 메인 워크 스테이션이 리눅스 기반이기 때문에, 나는 Windows에서 이것을하지 않았다   7 Windows   XP를 가지고 항상 그렇게해라.) 그래서 그것에 관해 특별한 것이 있는지 궁금해졌다. 거기있는 것처럼 보이지 않습니다. 내 Windows   상자에 JDK를 설치했는데 사용하는데 문제가 없었습니다.정확히 내가 한 일은 다음과 같습니다.

  1. 명령 프롬프트를 열고 javac을 입력하고 Enter 키를 눌러 기억이 안나는지 확인합니다. 나는 보통 "... 내부 또는 외부 명령으로 인식되지 않습니다"오류가 발생했습니다.
  2. Oracle에서 JDK 설치 프로그램을 다운로드했습니다.
  3. 기본 위치에 설치하도록 설치하십시오.
  4. 제어판을 열었습니다.
  5. 검색 상자에 "environ"을 입력했습니다 (게으르며 이번 주에 어디로 이동했는지 추적하기가 어렵 기 때문에).
  6. "시스템 환경 변수 편집"선택 항목을 클릭하고 관리자 권한 팝업 질문에서 예를 클릭했습니다. 이것은 "고급"탭이 열린 "시스템 등록 정보"대화 상자를 열었습니다.
  7. 해당 탭에서 "환경 변수 ..."버튼을 클릭했습니다.
  8. 하단의 "시스템 변수"상자에서 Path으로 스크롤됩니다.
  9. 강조 표시된 상태에서 "편집 ..."버튼을 클릭하면 "시스템 변수 편집"상자가 열립니다.
  10. Windows 탐색기에서 C:\Program Files\Java\jdk1.7.0_03\bin에 있었던 JDK의 bin 디렉토리로 이동합니다.
  11. 주소 표시 줄을 클릭하고 모두를 선택하고 해당 경로를 클립 보드로 복사했습니다.
  12. "시스템 변수 편집"상자에 커서를 세미콜론 (;) (참고 : 콜론이 아니며 주위에 공백이 없음)을 입력 한 다음 경로를 붙여 넣습니다. 클립 보드에서.
  13. 해당 상자에서 확인 버튼을 클릭하고 환경 변수 상자의 확인 버튼을 클릭 한 다음 시스템 등록 정보 상자의 확인 버튼을 클릭합니다.
  14. 새로운 명령 프롬프트가 열렸습니다.
  15. 입력 한 javac을 입력하고 Enter 키를 누릅니다. javac 도움말 목록이 있습니다.
  16. 두 개의 화산 소스 파일을 만들고 디렉토리에 넣으십시오 (필자의 경우 C:\tmp\j).
  17. 해당 디렉토리로 변경되었습니다.
  18. 는 입력 된 :

    javac VolcanoRobot.java VolcanoApplication.java 
    

    ...하고 Enter를 누르면. 나는 오류가 없다.

  19. 입력 된 :

    java VolcanoApplication 
    

    ... 및 프레스를 누릅니다. 괜찮 았는데, 나는 소스 파일을보고 기대했던 출력을 얻었다.

Windows에서이 작업을 수행해도 문제가 없습니다.   7. 내가 수행 한 작업이 도움이 될 것입니다.

+0

javac가 경로 변수에있는 곳을 선언했으며 classpath 아래에 tools.jar도 선언했지만 아직 작동하지 않습니다. –

+0

@ AlexSt-Laurent : 나는 당신에게 무엇을 말해야할지 모르겠다. 'PATH' env 변수에 javac에 올바른 경로를 넣고 명령 프롬프트를 다시 시작한 경우 (재부팅 한 경우), Windows **는 ** 해당 경로를 사용하여 javac를 찾습니다. 그렇지 않으면'PATH'에 추가 한 경로에 문제가 있음을 의미합니다. 명령 프롬프트에서'path'를 입력하고 엔터 키를 누릅니다. 'javac'에 대한 경로가 보이지 않는다면 올바르게 추가하지 않은 것입니다. 'javac '에 대한 경로를 보았다고 생각한다면 ** 매우 자세히 **를보고 오타가있는 곳을 확인하십시오 (경로 앞에 또는';'앞에 하나가 있음). –

+0

javac가 Windows 탐색기에서 발견 된 곳으로 이동하여 path 변수에 경로를 복사하여 붙여 넣습니다. (그것은 CMD에서 완벽하게 나타납니다.) 도움을 주셔서 감사합니다. 그러나 문제는 수정할 수 없다고 생각합니다. 나는 javac가 발견 된 곳에서 .java 파일을 곧바로 넣고 있는데, 잘 작동하는 것 같다. –

1

만약 C : \ 프로그램 파일 \ 자바 \는 이러한 환경을로드 할 수 없습니다로 jdk1.7.0_03 폴더는 시스템 경로 환경 변수에 입력 빈 \, 당신은 cmd.exe를을 다시해야 할 수도 있습니다 변수를 즉석에서

그런 다음 응용 프로그램의 루트에서 javac를 실행해야합니다.

+0

나는이 모든 것을 시도해 보았습니다. 재부팅하면, 도움이된다면, XP에 서비스 팩 3을 가지고 있습니다. –

+0

@ AlexSt-Laurent : 재부팅했는데 여전히'javac'을 찾지 못했다면,'PATH' 변수에 관련 경로를 넣는 데 성공하지 못했습니다 돌아가서 다시 확인해야합니다. –

+0

그러면 Path 변수에서 올바르지 않아야합니다. 다시 한번 확인해 볼 가치가 있습니다. 시스템 속성> 환경 변수에서 '경로'(pathtext 또는 classpath가 아님)라고합니다. 항목은 세미콜론으로 구분해야합니다. 죄송합니다 그게 모두 분명하지만 문제가 어디 있는지, 그리고 당신이 그것을 두 번 확인해 야 :) – lynks

관련 문제