zoukankan      html  css  js  c++  java
  • 解决IntelliJ IDEA无法读取配置*.properties文件的问题

    idea对这些配置的文件方式很明显和eclipse是不同的。在idea中有一个 Content Roots的概念。需要为每一个folder配置相应的Content Roots。Content Roots包括resources、sources、tests等。

    如图所示:

    • java文件夹被标注为Sources,那么下面的所有子文件夹均为Sources,编译后生成.class文件。
    • Resources文件夹被标注为Resources,那么在该文件夹下的配置文件在编译时会自动复制到编译文件夹中。

    那么对于idea来说,就有以下几种解决方案。

    1. 将配置文件放到Resources文件夹中,在代码中添加配置文件的虚拟路径。选中文件,右键-Copy Reference,就可以获取到文件的虚拟路径。
    2. 把配置文件放在com.zjut.ssm.config包中,修改config文件夹的Content Roots为Resources,那么编译后,代码也能识别出来。

    以上两种解决方案适用于make project方式来编译项目。

    如果是maven项目。还可以通过配置pom.xml来实现。

     <build>
        <finalName>springmvc-study</finalName>
        <resources>
            <resource>
                <directory>${basedir}/src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
            </resource>
        </resources>
     </build>

    这样不用对idea设置,也可以使用maven的编译命令编译项目,并复制配置文件到编译好的文件夹中。

    本人创建了一个java架构师资料分享群,欢迎工作两年以上的同学加入,一起讨论,群号:943248961,或扫码加入

     

  • 相关阅读:
    nodejs redis数据类型命令汇总
    十大经典排序算法最强总结
    基于Nodejs的Tcp封包和解包的理解
    排序算法 JavaScript
    import和require的区别
    Socket.io的默认事件列表
    非常完整的coco screator socketio
    分布式、集群、微服务、SOA 之间的区别
    关于插入3条数据第三条失败全部回滚的操作
    @Scope注解的详细用法
  • 原文地址:https://www.cnblogs.com/zqr99/p/7642712.html
Copyright © 2011-2022 走看看