zoukankan      html  css  js  c++  java
  • IntelliJ IDEA java maven项目读取配置文件信息

    一、在main目录下 新建 resources 目录 并将其设为 资源文件目录

     

     

    二、在pom.xml 中添加 下面代码  只这样 打包后 jar 才能有配置文件

    <resources>
          <resource>
            <filtering>true</filtering>
            <directory>src/main/resources</directory>
            <includes>
              <include>**/**.properties</include>
            </includes>
            <targetPath>/resources</targetPath>
          </resource>
     </resources>

     三、具体实现的代码

    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    public static String POSTGRESQL_URL;
    public static String POSTGRESQL_USER;
    public static String POSTGRESQL_PASSWORD;
    /**
         * 读取配置文件
         * @return
         */
        public static void readConfigFile(String cfgFile) {
            try {
                InputStream in = App.class.getClassLoader().getResource(cfgFile).openStream();
                Properties prop = new Properties();
                prop.load(in);
                POSTGRESQL_URL = prop.getProperty("postgresql.url");
                POSTGRESQL_USER = prop.getProperty("postgresql.user");
                POSTGRESQL_PASSWORD = prop.getProperty("postgresql.password");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
     public static void main( String[] args )
     {
            //System.out.println( "启动 SinaServer " );
            logger.info("启动 SinaServer");
            //读配置文件
            readConfigFile("resources/postgresql.properties");
            //System.out.println(POSTGRESQL_URL);
            logger.info("读配置文件 "+POSTGRESQL_URL +" "+ POSTGRESQL_USER + " " +  POSTGRESQL_PASSWORD);
    }

    下面是通篇代码,供参考

    package com.SinaServer;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    /**
     * SinaServer
     */
    public class App 
    {
        public static final Logger logger = LoggerFactory.getLogger(App.class);
        public static String POSTGRESQL_URL;
        public static String POSTGRESQL_USER;
        public static String POSTGRESQL_PASSWORD;
    
        /**
         * 读取配置文件
         * @return
         */
        public static void readConfigFile(String cfgFile) {
            try {
                InputStream in = App.class.getClassLoader().getResource(cfgFile).openStream();
                Properties prop = new Properties();
                prop.load(in);
                POSTGRESQL_URL = prop.getProperty("postgresql.url");
                POSTGRESQL_USER = prop.getProperty("postgresql.user");
                POSTGRESQL_PASSWORD = prop.getProperty("postgresql.password");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public static void main( String[] args )
        {
            //System.out.println( "启动 SinaServer " );
            logger.info("启动 SinaServer");
            //读配置文件
            readConfigFile("resources/postgresql.properties");
            //System.out.println(POSTGRESQL_URL);
            logger.info("读配置文件 "+POSTGRESQL_URL +" "+ POSTGRESQL_USER + " " +  POSTGRESQL_PASSWORD);
     
        }
     
    }

    四、如果运行出错

    试试去掉   pom.xml  中的  <targetPath>/resources</targetPath>

    五、编译

    IntelliJ IDEA 具体怎么 编译 在我之前的博客中有讲

    https://www.cnblogs.com/hailexuexi/p/14887291.html

    这里重点说一下。

    postgresql.properties 这个配置文件 被打包到了  **.jar 中了

     用 压缩软件 打开  ***.jar 文件 其中 resources 目录中

     再右键  用 记事本 打开  postgresql.properties 文件

     保存后,再启动这个  **.jar 程序,就弄获取到 新的配置值

     注:如果把 所有 .jar文件 打在外部的方式,就将 postgresql.properties 放到与 主程序的 jar 文件 同一目录 即可

  • 相关阅读:
    实例属性 类属性 实例域 类域
    研究数据集
    static 静态域 类域 静态方法 工厂方法 he use of the static keyword to create fields and methods that belong to the class, rather than to an instance of the class 非访问修饰符
    accessor mothod mutator mothod 更改器方法 访问器方法 类的方法可以访问类的任何一个对象的私有域!
    上钻 下钻 切片 转轴 降采样
    识别会话
    Performance Tuning Using Linux Process Management Commands
    Secure Hash Algorithm 3
    grouped differently across partitions
    spark 划分stage Wide vs Narrow Dependencies 窄依赖 宽依赖 解析 作业 job stage 阶段 RDD有向无环图拆分 任务 Task 网络传输和计算开销 任务集 taskset
  • 原文地址:https://www.cnblogs.com/hailexuexi/p/14939503.html
Copyright © 2011-2022 走看看