Maison >Java >javaDidacticiel >Comment Springboot exécute-t-il le package jar pour lire les fichiers de configuration externes ?
Méthode 1 : Définir le fichier de configuration avec un chemin relatif
(1) Créez le fichier de configuration conf.properties dans le même répertoire que le package jar et écrivez les données de configuration :
confData=data
(2) Commencez à écrire le code de test automatisé
//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) Exécutez le package jar
java -jar jarNanexxx
Méthode 2 : définir le fichier de configuration avec un chemin absolu
Résoudre le problème : il n'y a aucun problème lors de l'utilisation du chemin relatif méthode pour exécuter manuellement le package jar dans le répertoire de même niveau du package jar. Cependant, lors de l'utilisation du fichier crontab du système Linux pour la planification planifiée, une erreur se produit. La raison : parce que lorsque nous exécutons manuellement un script, il est exécuté. dans l'environnement shell actuel, et le programme peut trouver les variables d'environnement ; lorsque le système exécute automatiquement la planification des tâches, en plus de l'environnement par défaut, aucune autre variable d'environnement ne sera chargée. Par conséquent, vous devez spécifier toutes les variables d'environnement requises pour la tâche exécutée dans le fichier crontab ou utiliser des chemins absolus dans le programme.
(1) Créez le fichier de configuration conf.properties dans le même répertoire que le package jar et écrivez les données de configuration :
confData=data
(2) Commencez à écrire le code de test automatisé
//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) Exécutez le package jar
java -jar jarNanexxx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!