[Java] Javac로 직접 컴파일(Compile) 하기

    프로젝트를 하다보면, 소스를 다이렉트로 직접 컴파일(Compile)해야 하는 경우가 종종 있다. 예를 들어 소스를 옮기기 힘든 상황인데 리눅스나 유닉스와 같은 서버에서 vi 편집기 등을 활용하여 직접 프로그램을 수정한 상황에서 직접 컴파일을 한다든지, 아니면 간단한 프로그램을 짜서 뭔가를 알아야 한다든지 IDE(이클립스, IntelliJ)와 같은 프로그램을 쓰지 않고 직접해야 하는 상황이 올 수 있다.

     

    Javac

    Javac는 자바 코드를 컴파일 시켜주는 프로그램으로 커맨드에서 직접 컴파일을 할 수 있다.

     

    public class Test {
    	
    	public static void main(String[] args) {
    		System.out.println("Hello World!!");
    	}
    }

     

    위와 같은 샘플 클래스를 담은 Test.java 파일을 메모장으로 생성해본 후, 해당 파일이 있는 위치로 이동한다

     

    Test.java

     

    CMD로 컴파일을 해야 하는 java 코드 위치로 이동 후, 아래와 같은 명령어로 java 코드를 컴파일 한다

     

    컴파일이 된 Java 파일

     

    컴파일이 완료되면, 파일명과 동일한 이름의 class가 생성된다. 이제 컴파일이 되었으니, java 명령어로 프로그램을 실행해본다.

     

     

    여기서 주의해야 할 점이 compile이 된 class 파일을 직접 파일 경로로 입력하면 안된다는 점이다. 즉 아래와 같이 하면 에러가 발생한다

     

    javac Test.class

     

    위와 같은 명령어를 실행하면 아래와 같이 "기본 클래스 XXX.class을(를) 찾거나 로드할 수 없습니다." 에러가 발생한다. 

     

    E:\lecture\test>java Test.class
    오류: 기본 클래스 Test.class을(를) 찾거나 로드할 수 없습니다.

     

    연관 포스팅

    [Java] 컴파일(Compile) 개념과 자바 컴파일 이해하기

     

    [Java] 컴파일(Compile) 개념과 자바 컴파일 이해하기

    자바(Java)의 경우 컴파일(Compile)이라는 개념이 들어갑니다. 파이썬(Python)과 같은 언어는 컴파일 언어와 다르게 인터프리터 언어로 별도의 컴파일 과정이 없이 소스 코드를 한줄 한줄 읽어가면서

    needneo.tistory.com

     

    반응형

    댓글

    Designed by JB FACTORY