簡體   English   中英

無法從類路徑加載屬性文件

[英]Not able to load properties file from classpath

我有一個與SBT組裝的Eclipse Scala項目。 我想添加一個屬性文件,嘗試將其放置在src和target / scala / classes文件夾中。 我不確定如何在程序中加載此文件。 這是我的代碼:

val reader=this.getClass().getClassLoader().getResourceAsStream("ccm.properties") //Reading the properties file
val p=new Properties();  
p.load(reader);  
val maxDimension = p.getProperty("maxDimension").toInt 

這是我得到的例外:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.musigma.ind.invictus.ConvergentCrossMapping.main(ConvergentCrossMapping.scala)
Caused by: java.lang.NullPointerException
    at java.util.Properties$LineReader.readLine(Properties.java:434)
    at java.util.Properties.load0(Properties.java:353)
    at java.util.Properties.load(Properties.java:341)
    at com.musigma.ind.invictus.ConvergentCrossMapping$.<init>(ConvergentCrossMapping.scala:35)
    at com.musigma.ind.invictus.ConvergentCrossMapping$.<clinit>(ConvergentCrossMapping.scala)
    ... 1 more

更新:這個問題是不是重復這個 ,因為我在Scala的對象編寫這些代碼,我不能用this.class.getResourceAsStream(...)

可以使用ConfigFactory代替Java屬性類。 文件必須位於資源目​​錄下。

var b = getClass.getResource("/test.properties").getPath
val externalConfig1 = ConfigFactory.parseFile(new File(b))

println(externalConfig1.getInt("maxDimension"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM