Home > Java > javaTutorial > body text

How does springboot run the jar package to read external configuration files?

WBOY
Release: 2023-05-21 14:40:06
forward
3101 people have browsed it

Method 1: Set the configuration file with a relative path
(1) Create the configuration file conf.properties in the same directory as the jar package and write the configuration data:

confData=data

(2) Start writing the automated test code

//from www.fhadmin.cn
public class Test{
    public String getData() throws IOException {
        //读取配置文件
        Properties properties = new Properties();
        File file = new File("conf.properties");
        FileInputStream fis = new FileInputStream(file);
        properties.load(fis);
        fis.close();

        //获取配置文件数据
        String confData = properties.getProperty("confData");
        System.out.println(confData);
    }
}
Copy after login

(3) Execute the jar package

java -jar jarNanexxx

Method 2: Absolute path setting configuration file
Solution to the problem: There is no problem when using the relative path method to manually execute the jar package in the same level directory of the jar package, but an error occurs when using the crontab file of the Linux system for scheduled scheduling. The reason is: Because when we manually execute a script, we do it in the current shell environment, and the program can find the environment variables; and when the system automatically performs task scheduling, it will not load any other environment variables except the default environment. Therefore, you need to specify all the environment variables required for task running in the crontab file, or use absolute paths in the program.
(1) Create the configuration file conf.properties in the same directory as the jar package and write the configuration data:

confData=data

(2) Start writing Enter the automated test code

//from www.fhadmin.cn
public class Test{
    public String getData() throws IOException {
       //获取jar包同级目录
        String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
        String[] pathSplit = path.split("/");
        String jarName = pathSplit[pathSplit.length - 1];
        String jarPath = path.replace(jarName, "");
        String pathName=jarPath+"minhang.properties";
        System.out.println("配置文件路径:"+jarPath);

        //读取配置文件
        Properties properties = new Properties();
        File file = new File(pathName);
        FileInputStream fis = new FileInputStream(file);
        properties.load(fis);
        fis.close();

        //获取配置文件数据
        String confData = properties.getProperty("confData");
        System.out.println(confData);
    }
}
Copy after login

(3) Execute the jar package

java -jar jarNanexxx

The above is the detailed content of How does springboot run the jar package to read external configuration files?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template