Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将jar中的库动态添加到类路径_Java_Jar_Classpath_Libraries - Fatal编程技术网

Java 将jar中的库动态添加到类路径

Java 将jar中的库动态添加到类路径,java,jar,classpath,libraries,Java,Jar,Classpath,Libraries,所以我正在创建一个Java项目,我想在一个JAR中包含一组库 我的项目是这样设置的: libs/(罐) Main.java 我不知道如何在编译Main.java文件时,在不添加类路径的情况下将JAR包含到Main.java文件中: java -cp libs/*;. Main.java 这样做是动态的吗?My Main.java在其中一个jar中扩展了一个类,因此我无法加载主类中的类。您可以在编译时设置jar文件类路径;并解释(部分) 指定要包含在小程序或应用程序清单文件的类路径头字段中的类。

所以我正在创建一个Java项目,我想在一个JAR中包含一组库

我的项目是这样设置的:

libs/(罐)
Main.java

我不知道如何在编译Main.java文件时,在不添加类路径的情况下将JAR包含到Main.java文件中:

java -cp libs/*;. Main.java

这样做是动态的吗?My Main.java在其中一个jar中扩展了一个类,因此我无法加载主类中的类。

您可以在编译时设置
jar
文件类路径;并解释(部分)

指定要包含在小程序或应用程序清单文件的
类路径
头字段中的类。
类路径
标题采用以下形式:

 Class-Path: jar1-name jar2-name directory-name/jar3-name
因此,使用
类路径头为
Manifest.txt
创建一个文本文件,然后(同样来自链接的Oracle教程)


对我来说,我喜欢在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
#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