클래스패스(Classpath)는 자바 애플리케이션이 실행될 때 필요한 클래스 파일이나 라이브러리 파일들이 위치하는 경로를 지정하는 설정입니다. 자바 애플리케이션은 클래스패스를 통해 클래스 파일, 패키지, 외부 라이브러리(JAR 파일 등)를 어디서 찾을지를 확인합니다.
javac -cp .:lib/myLibrary.jar MyApp.java는 현재 디렉터리(.)와 lib/myLibrary.jar를 클래스패스로 지정합니다.;) 으로 구분합니다.java -cp .;C:\Java\API\mariadb-java-client-3.5.0.jar com.exam.MainClass
:) 을 사용하여 여러 경로를 구분합니다. java -cp .:/usr/local/java/libs/mariadb-java-client-3.5.0.jar com.exam.MainClass
;), Linux 및 macOS(:)\ 또는 /), Linux 및 macOS(/)클래스패스를 설정하는 방법에는 여러 가지가 있습니다:
1. 명령줄에서 직접 설정
javac나 java 명령어에서 -cp 또는 -classpath 옵션을 사용해 클래스패스를 지정할 수 있습니다.javac -cp ".:lib/myLibrary.jar" MyApp.java
java -cp ".:lib/myLibrary.jar" MyApp
클래스패스 설정이 제대로 되어 있지 않으면 자바 프로그램에서 필요한 클래스나 라이브러리를 찾지 못해 ClassNotFoundException 또는 NoClassDefFoundError 오류가 발생할 수 있습니다. 올바른 클래스패스 설정은 자바 애플리케이션이 외부 라이브러리와 정상적으로 통합되도록 돕는 핵심적인 요소입니다.
leehayeon@ihayeon-ui-MacBookAir ~ % **cd** /Users/leehayeon/Desktop/java/project/JDBCEx02/out/production/JDBCEx02
leehayeon@ihayeon-ui-MacBookAir JDBCEx02 % ls
EmpListEx01.class EmpListEx04.class TestEx01.class
EmpListEx02.class InsertZipcodeEx01.class ZipcodeSearchEx01.class
EmpListEx03.class InsertZipcodeEx02.class
leehayeon@ihayeon-ui-MacBookAir JDBCEx02 % cd..
zsh: command not found: cd..
leehayeon@ihayeon-ui-MacBookAir JDBCEx02 % pwd
/Users/leehayeon/Desktop/java/project/JDBCEx02/out/production/JDBCEx02
leehayeon@ihayeon-ui-MacBookAir JDBCEx02 % java com.exam.TestEx01
Hello Worldjava -classpath .:/Users/leehayeon/Desktop/java/API/mariadb-java-client-3.5.0.jar com.exam.ZipcodeSearchEx01 역삼 이렇게 실행하면 맥OS 환경에서 mariadb-java-client-3.5.0.jar 라이브러리를 포함하여 com.exam.ZipcodeSearchEx01 클래스를 실행할 수 있습니다.