Java 9 Module System下.properties资源文件目录放置位置咨询
关于.properties资源文件的存放位置指南
嘿,我来帮你理清.properties资源文件该放哪儿~不同项目类型的最佳存放位置略有不同,我给你分情况说明:
1. Maven/Gradle这类构建工具管理的项目(最常见)
遵循「约定优于配置」的规则就对了:
- 生产环境用的.properties文件,直接丢
src/main/resources目录下!构建工具会自动把这里的文件打包到最终的classpath里,代码里用ClassLoader.getResourceAsStream("你的文件名.properties")或者ResourceBundle.getBundle("你的文件名")就能直接读取,完全不用额外配置路径。 - 要是测试专用的配置文件,就放
src/test/resources,这个目录里的文件只会在测试阶段生效,不会被打包到生产包中,很方便隔离测试和生产配置。
2. 无构建工具的普通Java项目
如果是手动打理的小项目:
- 建议专门建个
resources文件夹放在项目根目录,然后在IDE(比如IDEA、Eclipse)里把这个文件夹标记为资源根目录(Resource Root)。这样编译的时候,IDE会自动把资源文件复制到输出目录和class文件放在一起,保证代码能顺利读到。 - 当然你也可以直接把.properties和Java源码放同一个目录,但这种方式太乱了,项目一变大就找不到东西,真心不推荐。
3. 特殊需求:自定义资源目录
如果需要分环境配置(比如dev、prod、test)或者有其他自定义需求:
- Maven可以在
pom.xml里加<resources>标签指定额外的资源目录,示例代码如下:
<build> <resources> <resource> <directory>src/main/resources-dev</directory> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
- Gradle则在
build.gradle里这么配置:
sourceSets { main { resources { srcDirs = ['src/main/resources', 'src/main/resources-dev'] } } }
最后提醒一句:不管放哪儿,读取的时候要注意路径对应哦~比如你的.properties在src/main/resources/config/db.properties,那代码里的读取路径就得写成config/db.properties。
内容的提问来源于stack exchange,提问作者Asif Mushtaq
相关产品推荐
相关产品推荐

