명령줄에서 외부 .jar 파일 포함해서 .java 컴파일하기 :: 서버구축[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

서버구축
[1]
등록일:2018-09-07 10:00:18 (0%)
작성자:
제목:명령줄에서 외부 .jar 파일 포함해서 .java 컴파일하기

운영체제의 환경변수 등을 변경하지 않은 채로, 외부 .jar 파일을 포함해서 .java 파일을 컴파일 및 실행하기 위해서는 아래와 같이 한다.

컴파일시

javac -cp "<classpath>\external.jar" MyClass.java

실행시

java -cp "<classpath1>\external.jar;<classpath2>" MyClass

여기서 -cp 옵션은 물론 클래스 패스(Class Path)를 가리키며, .jar 파일이 있는 경로만 지정해서는 컴파일 및 실행이 모두 안되므로, 반드시 .jar 파일까지 모두 경로에 지정해줘야 한다.

여러개의 .jar 파일을 지정하기 위해서는 운영체제에 따라서 구분자가 다른데, 윈도우 운영체제에서는 세미콜론(;), 그 외의 운영체제에서는 콜론(:)으로 구분해서 지정한다.

예:

(윈도우 운영체제의 경우)

javac -cp "<classpath1>\external.jar;<classpath2>\tools.jar" MyClass.java

(그 외 운영체제의 경우)

javac -cp "<classpath1>/external.jar:<classpath2>/tools.jar" MyClass.java

.java 파일을 컴파일하려는 것이 아니라, 이미 컴파일된 클래스를 실행하려고 할때는 .jar 파일의 경로뿐만 아니라, 실행하려는 클래스 파일이 존재하는 경로도 지정해야 한다. 만약 컴파일된 .class 파일이 현재 디렉토리에 있더라도 현재 디렉토리라는 식으로 경로를 지정해줘야 한다. 이때는 딱히 경로에서 .class 까지 명시할 필요는 없다.

예:

java -cp "<classpath1>\external.jar;." MyClass

(단, 윈도우 운영체제에서 실행하는 것이 전제이며, MyClass 파일은 현재 디렉토리에 있다고 가정함)

…생각해보면 이클립스에서 환경변수를 지정해서 컴파일하고 실행하면 되는걸, 난 왜 이런 삽질을 하고 있는가 (…)

참고 URL: 스택오버플로우 – Java command line with external .jar

[본문링크] 명령줄에서 외부 .jar 파일 포함해서 .java 컴파일하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34814
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.