Rumah  >  Artikel  >  Java  >  Bagaimanakah springboot menjalankan pakej balang untuk membaca fail konfigurasi luaran?

Bagaimanakah springboot menjalankan pakej balang untuk membaca fail konfigurasi luaran?

WBOY
WBOYke hadapan
2023-05-21 14:40:063094semak imbas

Kaedah 1: Tetapkan fail konfigurasi dengan laluan relatif
(1) Cipta fail konfigurasi conf.properties dalam direktori yang sama dengan pakej balang dan tulis data konfigurasi:

confData=data

(2) Mula menulis kod ujian automatik

//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);
    }
}

(3) Laksanakan pakej jar

java -jar jarNanexxx

Kaedah 2: Tetapkan fail konfigurasi dengan laluan mutlak
Selesaikan masalah: Tiada masalah apabila menggunakan kaedah laluan relatif untuk melaksanakan pakej balang secara manual dalam direktori pada tahap yang sama pakej jar, tetapi ralat berlaku apabila menggunakan fail crontab sistem Linux untuk penjadualan berjadual Sebabnya ialah: Kerana apabila kami melaksanakan skrip secara manual, kami melakukannya dalam persekitaran shell semasa, dan program boleh mencari pembolehubah persekitaran. ; dan apabila sistem secara automatik melaksanakan penjadualan tugas, ia tidak akan memuatkan sebarang pembolehubah persekitaran lain kecuali persekitaran lalai. Oleh itu, anda perlu menentukan semua pembolehubah persekitaran yang diperlukan untuk menjalankan tugas dalam fail crontab, atau menggunakan laluan mutlak dalam program.
(1) Cipta fail konfigurasi conf.properties dalam direktori yang sama dengan pakej jar dan tulis data konfigurasi:

confData=data

(2 ) Mula menulis Masukkan kod ujian automatik

//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);
    }
}

(3) Laksanakan pakej balang

java -jar jarNanexxx

Atas ialah kandungan terperinci Bagaimanakah springboot menjalankan pakej balang untuk membaca fail konfigurasi luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam