티스토리 뷰
클래스 패스(CLASSPATH)란?
- JVM이 프로그램을 실행할 때, 클래스파일을 찾는데 기준이 되는 파일 경로를 의미한다.
- *.class 실행 파일(바이트 코드)을 찾는 경로이다.
- 만약 클래스 패스를 설정하지 않았다면, 디폴트는 현재 경로를 바라보게 된다.
- 소스 코드를(.java)를 컴파일 하면 소스코드가 '바이트 코드(바이너리 형태의 .class 파일)'로 변환한다. java runtime(java 또는 jre)로 이 .class 파일에 포함된 명령을 실행하려면, 먼저 이 파일을 찾을 수 있어야 한다. 이때, .class파일을 찾을 때 classpath 에 지정된 경로를 사용한다.
- classpath는 .class 파일이 포함된 디렉토리와 파일을 콜론으로 구분한 목록이다.
- java runtime은 이 classpath에 지정된 경로를 모두 검색하여 특정 클래스에 대한 코드가 포함된 .class 파일을 찾는다. 찾으려는 클래스 코드가 포함된 .class파일을 찾으면 첫 번째로 찾은 파일을 사용한다.
- classpath를 지정할 수 있는 방법은 두 가지가 있다.
- 환경 변수 classpath를 사용하는 방법
- java runtime에 -classpath 플래그를 사용하는 방법
환경변수 CLASSPATH
- 환경 변수는 ;(콜론) 으로 구분한다.
- 순차적으로 확장자가 class인 클래스 파일을 찾는 경로 이다. (class 파일을 찾는 기준)
- 자바 가상머신(JVM)이 이 CLASSPATH를 통해 class 파일을 찾게된다.
☞ CLASSPATH가 설정되지 않은 경우
☞ 현재 디렉토리를 CLASSPATH에 등록
- 'set' 명령어로 설정된 CLASSPATH는 이를 지정해준 명령 프롬프트 창 내에서만 유효하다.
- 새로운 명령 프롬프트 창을 띄울 때마다 CLASSPATH를 지정해줘야 하는 것이 불편하기 때문에 미리 CLASSPATH를 고정해 놓는데 이때 사용하는 것이 '환경 변수 세팅' 이다.
- 여기서 CLASSPATH를 지정해 놓으면, 알아서 JVM은 그 경로에서 class 파일을 탐색하게 된다.
☞ 환경 변수 값 설정
- 환경변수는 운영체제에서 자식 프로세스들을 생성할 때 참조하는 변수로 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들을 모아둔 것이다. JVM기반의 애플리 케이션도 이 환경 변수 값을 참고해서 동작하게 된다.
- 이렇게 지정해 놓으면 새로운 명령 프롬프트 창을 띄워도 CLASSPATH가 고정되게 된다.
CLASSPATH(-classpath)(-cp) 옵션
* javac -classpath [참조파일 경로] [소스파일.java]
* javac -cp [참조파일 경로] [소스파일.java]
컴파일 시 필요로 하는 참조할 클래스 파일의 파일 경로를 지정한다.
'Study > Java' 카테고리의 다른 글
[스터디 8주차] 인터페이스(Interface) (0) | 2022.01.30 |
---|---|
[스터디 7주차] 접근 지정자 (0) | 2022.01.22 |
[스터디 7주차] import 키워드 (0) | 2022.01.22 |
[스터디 7주차] package 키워드 (0) | 2022.01.22 |
[스터디 6주차] 상속 (0) | 2022.01.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 연결리스트활용
- 자료구조
- SW
- 프로그래머스
- 완전탐색
- 자바
- CS.
- 자료구조와알고리즘 23강
- 리스트2
- 이차 리스트
- 파이썬
- 프로그래머스강의
- 리스트함축
- 리스트 복사
- 코드업 기초
- 운영체제
- 이진탐색
- Greedy sort
- CS
- https
- 알고리즘
- 네트워크
- CS 스터디
- 데이터베이스
- 정렬
- 프로세스 주소공간
- 리스트
- 스터디
- It
- 보험
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함