라이브러리 : 프로그래밍에 사용되는 잘 정돈된 도구
(참조 : https://en.wikipedia.org/wiki/Library_(computing))
내가 작성한 것이 아닌 외부에서 가져다 쓰는 클래스 등에 해당한다
.java로 된 라이브러리를 사용했다면 해당 라이브러리도 컴파일이 되어야 하기 때문에
프로그램과 라이브러리 모두 컴파일이 필요하다
예제)
import org.opentutorials.iot.Elevator; // Library 1
import org.opentutorials.iot.Lighting; // Library 2
import org.opentutorials.iot.Security; // Library 3
public class OkJavaGoInHome {
public static void main(String[] args) {
String id = "JAVA APT 507";
// Elevator Call
Elevator myElevator = new Elevator(id);
myElevator.callForUp(1);
// Security Off
Security mySecurity = new Security(id);
mySecurity.off();
// Light On
Lighting hallLamp = new Lighting(id + " / Hall Lamp");
hallLamp.on();
Lighting floorLamp = new Lighting(id + " / Floor Lamp");
floorLamp.on();
}
}
[cmd] 실행 후 javac 명령어를 통해 바로 컴파일이 가능하다
* 컴파일 시 unmappable character (0xE2) for encoding x-windows-949 오류가 발생하는 경우
javac *.java -encoding (해당인코딩) 으로 해결가능 (아래 내용 참조)
디렉토리 확인(예제 코드의 import 부분을 확인하면 경로가 다름을 알 수 있다)
디렉토리가 일치하지 않기 때문에, javac 명령어 실행시 오류가 발생함
따라서 명시적으로 해당 디렉토리를 지정해서 컴파일을 해주어야 한다
(사용된 라이브러리가 존재하는 경로를 지정해서 컴파일 해주어야 함)
이 때 사용하는 명령어는 -cp(--class-path)이다.
javac -cp ".;(해당 경로명)" *.java 로 경로를 지정하면 컴파일이 가능하다
".;(해당 경로명)" 부분에서 마침표(.)는 '같은 디렉토리 내에 있는' 이라는 의미를 내포함
컴파일은 잘 마쳤지만 여전히 라이브러리의 경로가 다르기 때문에
프로그램 실행시 오류가 발생한다
따라서 프로그램 실행시에도 해당 라이브러리의 경로를 명시적으로 지정해 주어야 한다
-cp 명령어를 컴파일 할 때와 마찬가지 방법으로 프로그램 실행시에 사용해 주면 해결 가능하다
[생활코딩] JAVA1 - 자바 공식문서 보는 법(API 문서) (0) | 2021.12.10 |
---|---|
[생활코딩] JAVA1 - 직접 컴파일 및 실행하기(3) (0) | 2021.12.10 |
[생활코딩] JAVA1 - 직접 컴파일 및 실행하기(1) (0) | 2021.12.09 |
[생활코딩] JAVA1 - 입력과 출력 / 인수와 매개변수 (0) | 2021.12.09 |
[생활코딩] JAVA1 - 데이터 타입(숫자/문자열)과 연산 (0) | 2021.12.09 |
댓글 영역