일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- leetcode
- 다이나믹프로그래밍
- STL
- Java
- 딥러닝
- jvm
- 스타벅스
- BFS
- 스프링 프레임워크
- 프로그래머스
- 백트래킹
- 릿코드
- C++
- dfs
- 시애틀
- 알고리즘
- 라인플러스
- 백준
- 벤쿠버
- 라인
- 파이썬
- Python
- C/C++
- 머신러닝
- 프로그래밍언어론
- DP
- spring
- 모두를 위한 딥러닝
- Spring Framework
- binary search
Archives
- Today
- Total
케이스윔의 개발 블로그
[JAVA] classpath 를 알아보자 본문
classpath란 무엇인가?
(class search path 라고 하기도 한다고 함)
- 말그대로 클래스를 찾기 위한 경로
- JVM이 프로그램을 실행할 때 클래스 파일을 찾기 위한 기준이 되는 파일 경로
- 자바 런타임 환경에서 클래스와 다른 리소스 파일을 찾기위한 파일 경로
사용법(?)
- JDK tool에 의해서 -classpath 옵션을 셋팅하거나, CLASSPATH 환경변수를 통해 셋팅할 수 있다.
- -classpath 옵션을 사용하면 다른 어플리케이션에 영향을 주지 않고 각 어플리케이션 각각 셋팅을 할 수 있어서 더욱 선호되는 방법이다.
sdkTool -classpath classpath1;classpath2...
set CLASSPATH=classpath1;classpath2...
sdkTool: command-line tool 예를 들어 java, javac, apt ...
classpath1;classpath2;.. : .jar, .zip 또는 .class 파일의 파일 경로를 의미
경로는 어떻게 표기하는가?
- .class 파일을 포함하고 있는 .jar, .zip파일일 경우에는 classpath는 .zip 이나 .jar 파일이름이어야 한다.
- .class 파일을 포함하고 있는 패키지가 없는 파일일 경우에는 파일 경로는 .class 파일을 포함하고 있는 디렉토리명으로 표기한다.
- .class 파일을 포함하고 있는 이름이 있는 패키지의 파일이라면 root 패키지를 포함하고 있는 파일 경로로 표기한다.
- 디폴트 classpath는 현재 디렉토리이다. 환경변수나 옵션을 사용하게 되면 이 디폴트 설정이 override 되기 때문에 현재 디렉토리를 포함하고 싶다면 "." 을 새로운 셋팅에 포함해야한다.
너무나 인텔리제이 환경에서 개발하는게 익숙해진 나머지.. 오랜만에 커맨드라인으로 이것저것 실행하다가 classpath 를 간단히 정리해보았는데 아래의 공식 도큐먼트를 직접 읽어보면 더 이해가 쉬울 수 있다!
https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html
'Study' 카테고리의 다른 글
[github] Actions - workflows 를 자동화/개인화/실행 하다. (1) (0) | 2022.03.13 |
---|---|
[도서리뷰] AI로 일하는 기술(저자 장동인) (0) | 2022.02.19 |
[JAVA] new ArrayList(); vs Lists.newArrayList(); 뭘 써야할까? (0) | 2022.02.16 |
[PL] Garbage collection(가비지 컬렉션) (0) | 2018.12.16 |
[PL] Exception handling(예외 처리) (0) | 2018.12.15 |
Comments