程序通过读取配置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()))