在电梯项目中,我将数据库配置放在名为db.properties
/src/main/resources/db.properties
在我的Boot.scala
中,我将其读作:
val input = this.getClass.getResourceAsStream("db.properties")
println("### input: " +input)
val db = new java.util.Properties
db.load(input)
val url = db.getProperty("url")
println("#### url:" + url)
然后我开始sbt:
sbt prepare-web jetty-start
控制台会输出一些错误:
### input: null
21:48:55.906 [main] ERROR n.liftweb.http.provider.HTTPProvider - Failed to Boot! Your application may not run properly
java.lang.NullPointerException: null
at java.util.Properties$LineReader.readLine(Properties.java:418) ~[na:1.6.0_27]
at java.util.Properties.load0(Properties.java:337) ~[na:1.6.0_27]
at java.util.Properties.load(Properties.java:325) ~[na:1.6.0_27]
at bootstrap.liftweb.Boot.boot(Boot.scala:21) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.
这奇怪的升力无法找到db.properties
!
我已查看target/webapp/WEB-INF/classes
,db.properties
就在那里!哪里错了?
答案 0 :(得分:1)
您发布的代码应该有效 - 您可以尝试
val input = getClass.getResourceAsStream("/db.properties")
或者你可以试试内置的Lift Props meccano: http://www.assembla.com/wiki/show/liftweb/Properties
如果您使用Mapper(= Lift附带的持久性框架),您可能会看一下: http://www.assembla.com/spaces/liftweb/wiki/Mapper
如果一切都失败了 - 请问友好的电梯社区: http://groups.google.com/group/liftweb
希望有所帮助 保罗