Skip to Content
Suffering builds character
아카이브11.로깅특징10. Java가 파일을 읽는 방법

10. Java가 파일을 읽는 방법

1. 개요

다음의 두 요소는 자바 코드를 컴파일하고 실행하는 데 활용되는 개념으로,
이 두 개념은 서로 다른 용도를 가지고 있음

  • 클래스 패스(class path)
  • 빌드 패스(build path)

1. 클래스 패스

클래스 패스는 JVM이 사용하는 환경 변수이자, JVM이 프로그램을 실행하는 과정에서 필요한 클래스들을 찾고, 로딩하는데 참고하는 경로로,
(더 정확하게는 JVM 내 클래스 로더의 역할)

JVM이 클래스 파일을 찾고 로드해야 하는 디렉토리, JAR 파일 및 ZIP 파일 목록을 지정해야함

terminal
java -classpath bin dev.syntax.Main # 명령어 실행 경로는 프로젝트 폴더의 루트(root) 경로 # 클래스 패스의 경로로 bin 폴더를 지정 # 실행할 class 파일의 이름은 dev.syntax 패키지에 있는 Main.class

2. 빌드 패스

빌드 패스란 자바 프로젝트를 빌드하는데 필요한 모든 리소스 파일들이 모여있는 경로

💡
Tip

리소스 파일 예시

  1. 소스 코드(.java),
  2. 실행 파일(.class 파일)
  3. 내장 라이브러리 및 외부에서 설치한 서드파티 라이브러리

대부분의 IDE에서는 자바 프로젝트를 빌드하고 컴파일하기 위해 빌드 패스를 사용함

정리하면,
클래스 패스는 소스 코드가 실행되는 런타임(run-time)에 사용되며,
빌드 패스는 의존성을 찾는 빌드 과정(build-time)에서 사용됨

또한 클래스 패스는 기본적으로 런타임에 사용지만,
런타임에만 사용되는 것은 아니며,
컴파일 및 테스트와 같은 다양한 빌드 단계에인 빌드타임에서도 사용됨

런타임에 중요한 것은 소스의 위치가 아니라 클래스 경로(class path)

Last updated on