jar包读取配置文件找不到错误

有时候开发一些小工具,需要去读取配置文件,但是打完的jar包经常会出现找不到路径的问题,

会想到两种方法:

  1. 把文件放到jar包之外同一目录下,比如 config/ config.properties 文件。
  2. 或者把config.properties文件也打进jar包,

方法1:此时肯定需要压缩文件jar包和这个配置文件一起提供给产品,否则产品不知道如何配置。比较麻烦。

方法2:这种方式比较简便,也是推荐做法

Properties文件加载文件时:

  • 将此配置文件放入src目录下(或者放入其他目录,但是配置成src源代码目录)
  • 用此种方式进行获取,
public class ReadProperties {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Properties properties = new Properties();
        InputStream isInputStream = ReadProperties.class.getClassLoader().getResourceAsStream("config.properties");
        try {
            properties.load(isInputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        System.out.println(properties.getProperty("aa"));
    }
}

也可以采用ResourceBundle的方式来读取资源文件:

public class PropertiesUtil {
    private static final String BUNDLE_NAME = "com.zlp.utils.config";
    
    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            System.out.println(RESOURCE_BUNDLE.getString("aa"));
        } catch (MissingResourceException e) {
            
            System.out.println("can not found file");
        }
    }

}

此时要求资源文件为 config.properties.并且位于目录com.zlp.utils目录下。

时间: 2024-11-05 13:39:41

jar包读取配置文件找不到错误的相关文章

有关打包成可执行jar包后引用jar包中配置文件问题

一 问题由来 有时候我们做一些项目时,需要将一些配置信息写入配置文件中,以供调用.比如说这样: 如果我们需要在Demo.java中读取config.txt这个文件中的配置信息,在这种工程目录下是可以使用File来读取的,但是打包成jar后,使用File将不能读取到config.txt了,除非将这个配置信息放在jar包的外面. 假如说我们用File来读取文件: BufferedReader reader = new BufferedReader(new FileReader(new File("r

Spring环境搭建之:导入jar包、配置文件名称及放置位置

Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后再搭建环境的时候直接拿来用. 以Spring4为例,这里就不提供Spring的下载地址了,官网上很容易下的到. 1.导入相关jar包 建好web项目以后,导入Spring自己的jar包 spring-beans-4.0.0.M2.jar spring-context-4.0.0.M2.jar spr

spring boot项目application.properties多环境配置文件、jar包外部配置文件

一.简介 spring boot项目application.properties文件存放及使用介绍 二.方法一多环境配置文件 我们一般都会有多个应用环境,开发环境.测试环境.生产环境,各个环境的配置会略有不同,我可以根据这个创建多份配置文件,由主配置文件来控制读取那个子配置 创建spring boot项目后可以同时创建多个.properties文件,只要符合它要求的格式即可 格式:application-{profile}.properties:{profile}是变量用于自定义配置文件名称 分

使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)

从网上看过许多打jar包的例子,大多是将配置文件打进jar包的.经过本人一番研究,终于搞清楚了怎样将jar包的配置文件外置. 废话不说,直接上spring的pom.xml的配置文件. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav

java自定义jar包读取Excel(包含2003和2007)数据,并举例说明

用java自定义jar包读取excel数据支持excel2007和excel2003 在http://download.csdn.net/detail/u010792467/8079355下载所需要的包 如果需要excel2003和excel2007文件可以去 http://download.csdn.net/detail/u010792467/8072009下载 在http://download.csdn.net/detail/u010792467/8079345下载工程 自定义jar包运用举

eclipse导出可执行jar包 报main function not found错误

eclipse导出可执行jar包 报main function not found错误,解决方法是在工程的properties中找到run debug设置main方法.

拒绝FileNotFoundException!总结了这几个读取jar包外配置文件的知识点

前言 相信很多人遇到过这个问题:本地运行的好好的程序,怎么部署到线上就报找不到配置呢? 初识getResource 案例一 FieldMapConfig.class.getResource("p1.properties").getPath(); ``` - 这段代码在本地运行没有任何问题,一放到线上就报空指针. ###### 案例二 ![file](https://graph.baidu.com/resource/22243f231967f8c552ea801577605576.png

scala读取jar包外配置文件的方式

在scala的开发过程中,经常会修改程序的参数,将这些参数放到配置文件中避免了重复编译,然而打包的过程,如果不做配置文件外置,将无法修改配置内容,还是需要重新打包 这里给出读取配置文件的三种方式 方式一: 这是最常见的读取配置文件方式 val postgprop = new Properties()val ipstream: InputStream = this.getClass().getResourceAsStream("/config.properties")postgprop.

java jar包与配置文件的写法

一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该jar包,出错,原工程中properties文件读取代码如下: InputStream in = SystemConfig.class.getResourceAsStream("/config.properties"); FileInputStream in = new FileInputS