程序通过读取配置spark.properties文件获取相关属性信息,文件所在目录resources下
执行程序报错如下:
java.io.FileNotFoundException: spark.properties (系统找不到指定的文件。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at com.cnpc.common.LoadProperties.load(LoadProperties.scala:13)
at com.cnpc.test$.main(test.scala:11)
at com.cnpc.test.main(test.scala)
程序代码
classLoadProperties {
def load(propertiesFile:String)={
val config
=
try {
val prop
= new Properties()
prop.load(new FileInputStream(propertiesFile))
prop
} catch {
case e: Exception =>
e.printStackTrace()
sys.exit(1)
}
config
}
}
解决办法
替换上如程序中文件读取部分
//
解决办法1
val path =
Thread.currentThread().getContextClassLoader.getResource(propertiesFile).getPath
prop.load(new
FileInputStream(path))
// 解决方法2
prop.load(new
FileInputStream(getClass.getClassLoader.getResource(propertiesFile).getFile()))