我可以在开发中阅读带有jetty的属性文件吗?

时间:2012-06-13 00:10:13

标签: scala properties jetty lift

我正在从事一个电梯项目,作为一个巨大的mvn项目的子项目。我将属性文件放入:

  • 的src /主/资源/道具/ staging.props
  • 的src /主/资源/道具/ production.props

在子项目文件夹中。

然后我用:

运行码头
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仍在使用源代码中已硬编码的文件名。它似乎从未到达我的财产档案。

我错过了什么吗?或者它不适用于码头?

2 个答案:

答案 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()来读取它。