springboot はどのように jar パッケージを実行して外部構成ファイルを読み取るのでしょうか?

WBOY
リリース: 2023-05-21 14:40:06
転載
3115 人が閲覧しました

方法 1: 相対パスで設定ファイルを設定する
(1) jar パッケージと同じディレクトリに設定ファイル conf.properties を作成し、設定データを書き込みます。 confData=data


(2) 自動テストコードの記述を開始します

//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) jar パッケージを実行します

java -jar jarNanexxx

方法 2: 絶対パス設定設定ファイル

問題の解決策: jar パッケージを jar と同じレベルのディレクトリにある相対パス方法を使用して手動で実行する場合は問題ありませんパッケージには含まれていますが、スケジュールされたスケジュールに Linux システムの crontab ファイルを使用するとエラーが発生します。その理由は、スクリプトを手動で実行する場合、現在のシェル環境で実行し、プログラムが環境変数を見つけることができるためです。システムがタスクのスケジュールを自動的に実行する場合、デフォルト環境以外の環境変数はロードされません。したがって、タスクの実行に必要なすべての環境変数を crontab ファイルで指定するか、プログラム内で絶対パスを使用する必要があります。
(1) jar パッケージと同じディレクトリに構成ファイル conf.properties を作成し、構成データを書き込みます:



confData=data

(2) ) 記述開始 自動テストコードを入力

//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) jarパッケージを実行

java -jar jarNanexxx

以上がspringboot はどのように jar パッケージを実行して外部構成ファイルを読み取るのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート