2014-12-22 71 views
1

因此,我创建了一个Java项目,并且希望在JAR中包含一组库。将库中的库动态添加到您的类路径中

我的项目是建立像这样:

库/(瓶)
Main.java

我不知道如何将罐子到我Main.java文件,而无需添加类当我编译它的路径:

java -cp libs/*;. Main.java 

这是否无论如何动态地做到这一点?我的Main.java在一个jar中扩展了一个类,所以我无法加载Main类中的类。

回答

0

在编译时设置jar文件类路径;和Adding Classes to the JAR File's Classpath解释(部分)

您指定类在applet或应用程序的清单文件中的Class-Path头字段包含。该Class-Path头采用以下形式:

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

所以(从链接的Oracle教程再次)创建一个文本文件为您Manifest.txtClass-Path标题,然后

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

对我而言,我喜欢在windows中创建如下所示的批处理文件:

@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 

或者基于unix的操作系统中的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 
相关问题