我正在从事一个电梯项目,作为一个巨大的mvn项目的子项目。我将属性文件放入:
在子项目文件夹中。
然后我用:
运行码头mvn jetty:run -Drun.mode=staging
我使用以下内容打印了net.liftweb.util.Props
的设置:
println("file_name:" + Props.fileName)
println("mode_name:" + Props.modeName)
输出:
file_name:lift.props
mode_name:staging
模式名称正确。但是,文件名完全错误。 net.liftweb.util.Props
仍在使用源代码中已硬编码的文件名。它似乎从未到达我的财产档案。
我错过了什么吗?或者它不适用于码头?
答案 0 :(得分:3)
虽然duffymo is right并且您可以使用底层servlet工具来获取资源,但我仍然会使用Lift's Properties abstraction。它已经完成了区分不同run modes的工作。它还允许您为每个用户和/或每台计算机提供不同的属性,这取决于您的开发团队。
给定模式的默认属性应放在/props/modeName.default.props
中,因此您的文件应重命名为:
src/main/resources/props/staging.default.props
src/main/resources/props/production.default.props
答案 1 :(得分:2)
我会将.properties文件放在/ WEB-INF / classes中,并使用servlet上下文的getResourceAsStream()
来读取它。