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 文件 同一目录 即可

  • 相关阅读:
    Office 365开发环境概览
    Office 365开发概述及生态环境介绍(二)
    介绍Office 365 中文用户社区 4.0
    学习一点Markdown的基本知识
    Office 365开发概述及生态环境介绍(一)
    如何完全卸载OneDrive (Windows 10 64bit)
    国内版Office 365和Azure AAD绑定的问题及解决方案
    Office 365常见问题解答(第一期)
    招聘视音频工程师
    信念、思考、行动-谈谈程序员返回家乡的创业问题
  • 原文地址:https://www.cnblogs.com/hailexuexi/p/14939503.html
Copyright © 2011-2022 走看看