所以我正在创建一个Java项目,我想在JAR中包含一组库。
我的项目设置如下:
库/(罐)
Main.java
我不确定如何将jar包含到我的Main.java文件中,而无需在编译时添加类路径:
java -cp libs/*;. Main.java
无论如何要动态地这样做吗?我的Main.java在其中一个jar中扩展了一个类,所以我无法加载Main类中的类。
答案 0 :(得分: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
因此,使用Manifest.txt
标题为您的Class-Path
创建一个文本文件,然后(再次从链接的Oracle教程中)
jar cfm MyJar.jar Manifest.txt MyPackage/*.class
答案 1 :(得分: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