java -jar 옵션 사용 시 -cp 옵션은 무시됨
(이거 때문에 수많은 구글링을 ㅠㅠ)
첫번째 사용법.
java -cp external_library.jar:runnable.jar package.subpackage.Main
이렇게 사용하면 일단 실행은 가능.
하지만 매번 실행 클래스를 지정해주어야 하는 번거로움이 있음.
두번째 사용법.
특정 경로에 대해 필요한 jar 를 동적으로 로딩
나는 위 URL 의 RuntimeJarLoader.loadJarIndDir 내부에서
특정 문구가 포함된 jar 만 로딩하도록 변경하여 적용하였다.
덧.
첫번째 사용법에 대해 뻘짓하며 열심히 구글링 했는데..
수없이 열어놓은 브라우저 탭을 정리하면서 깨달았다.
이 블로그 글이 첫번째 사용법이랑 동일한 얘기군; ㅠㅠ
+ 추가
classpath 옵션은 줄 수 없지만, 아래와 같은 형태로 진행 가능
java -Djava.library.path=/external/library/directory1 -jar runnable.jar
OS 의 라이브러리 경로 (ex. LD_LIBRARY_PATH) 변경이 필요할 경우에는,
테스트용 script 파일을 만든 뒤 파일 내부에서 아래와 같은 형태로 진행 가능
export LD_LIBRARY_PATH=/external/library/directory1
java -Djava.library.path=/external/library/directory2 -jar runnable.jar
* 위와 같이 설정할 경우 java 코드를 통해 출력해보면 아래와 같다.
Library path (OS) : /external/library/directory1
library Path (Java) : /external/library/directory2
'Programming > Java' 카테고리의 다른 글
특정 확장자 접근 비허용 (1) | 2020.03.20 |
---|---|
String equals 와 == 연산자의 차이 (0) | 2018.08.24 |
사용 메모리 확인 (0) | 2018.03.05 |
[eclipse] Maven build 할 때 build path에 포함됐는데도 package does not exist 가 뜰 때 (2) | 2016.09.28 |