
Java 가상 머신(JVM)이 클래스 파일을 찾는 경로를 지정하는데 사용되는 환경 변수
JVM이 프로그램을 실행할 때, 클래스파일을 찾는 데 기준이 되는 파일 경로를 말한다.
소스코드 (.java로 끝나는 파일)을 컴파일 하면
소스코드가 "바이트코드"(바이너리 형태의.class 파일)로 변환된다.
JRE(java Runtime Environment)으로 이 .class 파일에 포함된 명령을 실행하려면 먼저 이 .class 파일을 찾을 수 있어야하는데
이 때(.class파일을 찾을 때) classpath에 지정된 경로를 모두 검색해서 특정 클래스에 대한 코드가 포함된 .class 파일을 찾는다.
찾으려는 클래스 코드가 포함된 .class 파일을 찾으면 첫 번째로 찾은 파일을 사용한다.
자바를 설치할 때 설정해준 클래스 패스가 바로 이것이다.

환경 변수를 설정하여 클래스패스를 지정할 수 있습니다.
이는 시스템 환경 변수로 설정하거나, 스크립트 또는 배치 파일에서 직접 설정할 수 있습니다.
export CLASSPATH=/path/to/classes:/path/to/lib/mylibrary.jar
Java 실행 명령어에 -classpath 또는 -cp 옵션을 사용하여 클래스패스를 지정할 수 있습니다.
java -cp /path/to/classes:/path/to/lib/mylibrary.jar MyClass
앞에서 설명한 대로 classpath는 콜론(:)으로 구분된 디렉토리 및 파일 목록이다.
다음 세 가지 유형의 파일과 디렉토리를 classpath에 지정할 수 있다.
/export/home/username/java/classes:/export/home/username/java/classes/util.zip:/e
xport/home/username/java/classes/checkers.jar
(.zip 파일과 .jar 파일은 하나의 아카이브로 압축된 자바 클래스 파일 세트를 말한다.)
classpath 가 클래스를 찾는 경로를 설정해주는 행위.
주로 어떤 프로젝트안에 .java 파일이 있다.
주로 깃같은곳에서 소스코드를 올려놓는데.
개발을 하면서 한 번도 classpath를 설정해본적이 없다.
jre가 이 어플을 실행할 때는 gradle이나 maven으로 빌드한 jar파일로 실행을 하는데
이 classpath 라는 것은 클래스를 찾기위해서 설정한다는 말이 실무상으로 무슨 의미를 갖는지 이해가 가지 않았는데
과거에 maven, gradle같은 빌드툴이 없었을 때는 classpath 설정으로 외부 라이브러리들을
수동으로 지정해줬어야 작동을 했엇나 보다 이해했다.
부디 classpath를 입력해주는 프로젝트가 없기를 바랄 뿐이다.
지금처럼 중앙저장소에서 라이브러리를 관리하고 프로젝트에 필요한 의존선을 선언하면 자동으로 다운로드하고 클래스 패스를 구성해주는데 새삼 빌드툴에게 감사하게 된다.
그러나 특정한 경우나 프로젝트에서 빌드 도구를 사용하지 않는 경우, 혹은 특별한 설정이 필요한 경우에는 클래스패스를 수동으로 설정해야 할 수 있습니다. 하지만 이는 특수한 상황이며, 보통은 빌드 도구를 사용하는 것이 더 효율적이고 편리합니다.