Java程序示例通过配置文件获取jar包地址、名字使用固定参数调用jar包
以下是一个Java程序示例,通过配置文件获取jar包地址和名字,然后使用固定参数调用jar包。
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
public class JarCaller {
public static void main(String[] args) throws IOException {
// 读取配置文件
Properties properties = new Properties();
FileInputStream fis = new FileInputStream("config.properties");
properties.load(fis);
fis.close();
// 获取jar包地址和名字
String jarPath = properties.getProperty("jarPath");
String jarName = properties.getProperty("jarName");
// 调用jar包
JarFile jarFile = new JarFile(jarPath + jarName);
JarEntry entry = jarFile.getJarEntry("MainClass");
String className = entry.getName().replace("/", ".").replace(".class", "");
try {
// 创建类加载器
ClassLoader classLoader = JarCaller.class.getClassLoader();
Class<?> mainClass = classLoader.loadClass(className);
// 调用jar包中的方法
mainClass.getMethod("main", String[].class).invoke(null, (Object) args);
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述代码中,我们假设配置文件名为config.properties
,并包含以下内容:
jarPath=/path/to/jar/
jarName=myJar.jar
你可以根据实际情况修改配置文件路径和jar包名字。然后,通过Properties
类读取配置文件并获取jar包的地址和名字。
接下来,我们使用JarFile
类打开jar包,并获取jar包中的MainClass
类。然后,通过类加载器加载该类,并调用其main
方法。
最后,我们使用invoke
方法调用jar包中的main
方法,并将固定参数传递给它。在这个示例中,我们将命令行参数args
作为参数传递给main
方法。
请注意,MainClass
是你自己的类名,你需要根据实际情况进行修改
原文地址: http://www.cveoy.top/t/topic/imtD 著作权归作者所有。请勿转载和采集!