HOWTO · Java

Javac이 Java에서 기호 오류를 찾을 수 없음

이 자습서는 Java에서 javac가 기호를 찾을 수 없음 오류를 해결하는 방법을 보여줍니다.

이 튜토리얼은 Java의 javac can find symbol 오류를 해결하는 방법을 보여줍니다.

Java에서 Javac가 기호를 찾을 수 없음

Java는 Java로 작성된 클래스와 인터페이스를 읽고 바이트 코드로 컴파일하는 도구입니다. javac은 CLI에서 Java 파일과 함께 사용되는 명령입니다.

프로그램에서 정의되거나 선언된 변수의 사용이 포함된 Java 파일을 실행하려고 할 때 javac이 기호를 찾을 수 없습니다 오류가 발생합니다. javac은 기호를 찾을 수 없습니다 오류는 컴파일러가 전혀 모르는 것을 참조하고 있음을 의미합니다.

javac can find symbol 오류는 프로그램에서 다음과 같은 문제가 있을 때 발생합니다.

  1. 숫자와 텍스트를 포함한 리터럴.
  2. true, false, class, while과 같은 키워드.
  3. -, /, +, =, {와 같은 연산자 및 기타 영숫자가 아닌 토큰.
  4. Reader, main, toString 등과 같은 식별자
  5. 공백과 주석.

javac can find symbol을 던지는 예제를 만들어 봅시다.

public class Example {
  public static void main(String... args) {
    int a = 10;
    int b = 20;
    int c = 30;

    sum = a + b + c; // sum is not declared
    System.out.println(sum);
  }
}

위의 코드에는 이전에 선언되지 않은 sum 변수가 있으므로 cannot find symbol 오류가 발생합니다. CMD에서 Java 파일의 경로를 가져오고 javac으로 파일을 컴파일합니다.

다음 명령을 사용하십시오.

javac Example.java

위의 코드는 다음 오류를 발생시킵니다.

C:\>javac Example.java
Example.java:7: error: cannot find symbol
        sum = a + b + c; // sum is not declared
        ^
  symbol:   variable sum
  location: class Example
Example.java:8: error: cannot find symbol
        System.out.println(sum);
                           ^
  symbol:   variable sum
  location: class Example
2 errors

문제를 해결하려면 변수를 사용하기 전에 모든 변수가 선언되었는지 확인하십시오. 솔루션 보기:

public class Example {
  public static void main(String... args) {
    int a = 10;
    int b = 20;
    int c = 30;
    int sum; // declare sum
    sum = a + b + c;
    System.out.println(sum);
  }
}

동일한 명령으로 프로그램을 실행하면 프로그램이 성공적으로 컴파일됩니다.