【问题标题】:location of .properties file in Scala Akka projectScala Akka 项目中 .properties 文件的位置
【发布时间】:2021-10-21 09:13:49
【问题描述】:

我有一个 akka 项目,我正在使用代码构建一个 Properties 对象:

   import java.io.FileNotFoundException
   import java.util.Properties
   import scala.io.Source

    val configPath = "hikari.properties"

    val url = getClass.getResource(hikariConfigPath)

    val properties: Properties = new Properties()

    if (url != null) {

      val source = Source.fromURL(url)

      properties.load(source.bufferedReader())

    } else {

      println("properties file cannot be loaded at path " + configPath)

      throw new FileNotFoundException("Properties file cannot be loaded”)

    }

  

这给了我“属性文件无法在路径 hikari.properties 加载”

除了:

java.io.FileNotFoundException: Properties file cannot be loaded
    at model.daos.JavaConnectionFactoryBuilder$.buildDataSource(JavaConnectionFactory.scala:25)

我已按照https://zetcode.com/articles/hikaricp/ 的建议将hikari.properties 文件放在src/main/resources 目录中

我该如何解决这个问题?

【问题讨论】:

    标签: scala akka


    【解决方案1】:

    您正在加载一个不存在的文件 hikari. 而不是 hikari.properties

    应该是:

     val hikariConfigPath = "hikari.propertiez"
    

    【讨论】:

    • 当我按照您输入的方式编写时,出现错误:“properties file cannot be loaded at path hikari.propertiesproperties file cannot be loaded at path hikari.properties”
    • 它似乎将属性附加到文件名。
    • 你是如何运行你的代码的?属性文件是否与应用正确打包?
    • 我使用sbt -Dakka.cluster.roles.0=read-model "runMain scaffold.Main 2551”在开发模式下运行它。
    • 文件名属性附件之谜解开了。它只是在消息的第一次和第二次打印之间没有任何空格。如果我写println 它会得到解决。所以与文件名无关。但即使将文件名写为“hikari.properties”,我也会遇到同样的问题。
    猜你喜欢
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2017-11-02
    • 2014-04-12
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多