2014-12-22 5 views
1

Java 프로젝트를 만들고 JAR 파일에 라이브러리 세트를 포함하고 싶습니다. 클래스를 추가 할 필요없이클래스 경로에 jar 파일의 라이브러리를 동적으로 추가하기

libs와/(항아리)
Main.java

내 Main.java 파일로 항아리를 포함하는 방법을 잘 모르겠어요 :

내 프로젝트는 설정과 같이이다 내가 컴파일 할 때의 경로 :

java -cp libs/*;. Main.java 

어쨌든 이것을 동적으로 수행 할 수 있습니까? 내 Main.java는 항아리 중 하나에서 클래스를 확장하므로 Main 클래스 내에서 클래스를로드 할 수 없습니다.

답변

0

jar 파일 클래스 경로를 컴파일 할 때 설정합니다. 및 Adding Classes to the JAR File's Classpath 당신은 애플릿 또는 응용 프로그램의 매니페스트 파일에서 Class-Path 헤더 필드에 포함 할 클래스를 지정

(부분적으로) 설명합니다.

Class-Path: jar1-name jar2-name directory-name/jar3-name 

그래서 (링크 된 오라클 튜토리얼부터 다시) 다음 Class-Path 헤더와 Manifest.txt위한 텍스트 파일을 만들고

jar cfm MyJar.jar Manifest.txt MyPackage/*.class 
0

다음 Class-Path 헤더는 다음과 같은 형태를 취한다 나에게 윈도우와 같은 배치 파일을 만들고 싶다.

@echo off 
REM set any custom classpath 
SET classpath=.\;.\properties 

REM load all libraries in specific directory 
SET libpath=.\lib 
FOR %%i IN (%libpath%\*.jar) DO call set classpath=%%classpath%%;%%i 

java -cp %classpath% org.test.MyTest 
유닉스 기반의 운영 시스템에서

또는 bash는 스크립트

#set any custom classpath 
classpath=./:./properties 

#load all libraries in specified directory 
for i in ./lib/*.jar 
do 
    classpath=$classpath:$i 
done 
export classpath 
java -cp $classpath org.test.MyTest