일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바클래스
- 기초프로그래밍
- 리터럴
- 변수
- 코드업100제자바
- SWEA
- 수학연산
- SWEA파이썬
- 코드업100제
- Algorithm
- 프로그래머스파이썬
- 백준파이썬
- 사용자입력
- Codeup
- 개발입문
- 코드업
- VARIABLE
- Java
- Literal
- C#프로그래밍
- C#변수
- c#
- 디자인패턴
- 백준
- 제어구조
- 자바연산자
- 자바
- 알고리즘
- 코드업자바
- 코딩테스트
- Today
- Total
제니노트
classpath 설정하기 [자바] 본문
이클립스를 사용하면 잘 볼일 없겠지만 터미널로 자바를 사용할 때 요긴하게 쓸 수 있는 기능이다.
일단, 먼저 작성한 파일을 보면
이렇게 Import 로 라이브러리를 사용한다.
하지만 편의상 해당 라이브러리를 명시한 경로와 달리 다른 폴더 내에 위치시켰다고 가정한다.
이렇게 위치되어 있다. 컴파일을 해서 class 파일이 생성되어 있다. ㅠㅠ 지우기 귀찮아요..ㅎㅎ
lib 폴더 내에 org.opentutorials.iot 라이브러리가 있는 것이다 그래서 OkJavaGoInHome.java 파일에 작성된 import와는 경로가 사뭇다르다.
물론 소스파일 내에서 경로를 제대로 적어줘서 파일을 작동 시킬 수도 있겠지만.. Elavator.java 도 라이브러리 몇개가 엮어져 있어 상당히(?) 귀찮은 작업이 된다.
그럼 원래 하던대로 컴파일을 해보자
에러가 난다. import 한 라이브러리의 경로가 잘못되었다는 에러이다.
그래서 classpath를 설정해줄 것인데, 설명을 한 번보자.
여기서 classpath,cp 명령어의 설명을 보자 사용자 클래스 파일 및 주석 프로세서가 있는 위치를 지정해준다라고 나와있다.
이렇게 외부 라이브러리를 포함해서 컴파일을 하기 위해서는 --class-path(-cp) 옵션을 이용해서 외부 라이브러리도 함께 지정해야한다.
cp의 사용방법은 이러하다.
javac -cp ".:lib" OkJavaGoInHome.java
윈도우의 경우 ; 로 바꾸어 사용하면 된다. 이 때 콜론(:) 이나 세미콜론(;)은 구분자의 의미를 갖는다.
위의 뜻은 자바 파일이 있는 현재 폴더(.) 와 lib 폴더에서 필요한 자바 파일들을 컴파일 하라는 의미이다.
실행 할때도 외부 라이브러리를 포함하여 실행해야 하므로
java -cp ".:lib" OkJavaGoInHome
위와 같이 실행하면 된다.
그러면 실행이 잘된다:)
참고 강의 : https://www.boostcourse.org/cs126/lecture/141729?isDesc=false
'Java > Java 입문' 카테고리의 다른 글
화면에서 입력받기 - Scanner [자바] (0) | 2023.05.30 |
---|---|
printf()에 대하여 [자바] (0) | 2023.02.26 |
문자와 문자열 [자바] (0) | 2023.02.10 |
변수와 리터럴의 타입 불일치 [자바] (0) | 2023.02.10 |
리터럴의 접두사와 접미사 [자바] (0) | 2023.02.10 |