以下是一个示例的Java程序,通过配置文件获取jar包地址和名字,并加载程序中判断地址末尾是否包含斜杠,自动拼接jar包地址。然后判断jar包是否存在,如果存在,则使用命令行的方式直接调用jar包并指定传参,不加载class文件,直接使用。

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Properties;

public class Main {
    public static void main(String[] args) throws IOException {
        // 读取配置文件
        Properties properties = new Properties();
        properties.load(Main.class.getResourceAsStream("config.properties"));
        
        // 获取配置文件中的jar包地址和名字
        String jarPath = properties.getProperty("jarPath");
        String jarName = properties.getProperty("jarName");
        
        // 判断地址末尾是否包含斜杠,如果不包含则自动拼接
        if (!jarPath.endsWith(File.separator)) {
            jarPath = jarPath + File.separator;
        }
        
        // 拼接完整的jar包地址
        String jarFullPath = jarPath + jarName;
        
        // 判断jar包是否存在
        File jarFile = new File(jarFullPath);
        if (!jarFile.exists()) {
            System.out.println("Jar file does not exist.");
            return;
        }
        
        // 构建命令行执行jar包的命令
        String[] cmd = {"java", "-jar", jarFullPath, "arg1", "arg2"};
        
        // 执行命令行
        Process process = Runtime.getRuntime().exec(cmd);
        
        // 等待命令行执行完成
        try {
            int exitCode = process.waitFor();
            System.out.println("Exit code: " + exitCode);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

在上述示例中,假设配置文件config.properties位于与Main.java相同的目录下,内容如下:

jarPath=/path/to/jar/
jarName=myjar.jar

其中/path/to/jar/是jar包的存放路径,myjar.jar是jar包的文件名。

这个示例通过读取配置文件获取jar包的地址和名字,然后判断地址末尾是否包含斜杠,并自动拼接完整的jar包地址。接着判断jar包是否存在,如果存在,则使用命令行的方式调用jar包并指定传参。最后,等待命令行执行完成并输出退出代码。

请根据实际情况修改配置文件和代码中的路径和文件名

Java程序示例通过配置文件获取jar包地址、名字并加载程序中判断地址末尾是否包含斜杠、自动拼接jar包地址获取jar包时判断是否存在直接调用jar包且指定传参不加载class 文件直接使用 命令行的方式

原文地址: https://www.cveoy.top/t/topic/inw2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录