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.class2. 빌드 패스
빌드 패스란 자바 프로젝트를 빌드하는데 필요한 모든 리소스 파일들이 모여있는 경로
💡
Tip
리소스 파일 예시
- 소스 코드(.java),
- 실행 파일(.class 파일)
- 내장 라이브러리 및 외부에서 설치한 서드파티 라이브러리
대부분의 IDE에서는 자바 프로젝트를 빌드하고 컴파일하기 위해 빌드 패스를 사용함
정리하면,
클래스 패스는 소스 코드가 실행되는 런타임(run-time)에 사용되며,
빌드 패스는 의존성을 찾는 빌드 과정(build-time)에서 사용됨
또한 클래스 패스는 기본적으로 런타임에 사용지만,
런타임에만 사용되는 것은 아니며,
컴파일 및 테스트와 같은 다양한 빌드 단계에인 빌드타임에서도 사용됨
런타임에 중요한 것은 소스의 위치가 아니라 클래스 경로(class path)
Last updated on