Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 运行SBT runTask时如何访问资源?_Scala_Resources_Classpath_Sbt - Fatal编程技术网

Scala 运行SBT runTask时如何访问资源?

Scala 运行SBT runTask时如何访问资源?,scala,resources,classpath,sbt,Scala,Resources,Classpath,Sbt,我需要从类路径读取一个XML文件,以便在SBT中运行自定义runTask时使用DBUnit为我的项目加载一些测试数据 XML文件位于/src/main/resources中,并在构建过程中正确复制到/target/scala_2.8.1/classes,但在尝试访问它时,我遇到了一个错误的DorLexException 奇怪的是,当这个数据加载功能是Scala规范单元测试的一部分时,我可以访问这个文件 有什么想法吗?如果错误是说URL格式不正确,那么可能是真的。 下面是我用来在测试期间从资源中获

我需要从类路径读取一个XML文件,以便在SBT中运行自定义runTask时使用DBUnit为我的项目加载一些测试数据

XML文件位于/src/main/resources中,并在构建过程中正确复制到/target/scala_2.8.1/classes,但在尝试访问它时,我遇到了一个错误的DorLexException

奇怪的是,当这个数据加载功能是Scala规范单元测试的一部分时,我可以访问这个文件


有什么想法吗?

如果错误是说URL格式不正确,那么可能是真的。 下面是我用来在测试期间从资源中获取文件的代码:

def copyFileFromResource(source: String, dest: File) {
  val in = getClass.getResourceAsStream(source)
  val reader = new java.io.BufferedReader(new java.io.InputStreamReader(in))
  val out = new java.io.PrintWriter(new java.io.FileWriter(dest))
  var line: String = null
  line = reader.readLine
  while (line != null) {
    out.println(line)
    line = reader.readLine
  }
  in.close
  out.flush
}

在我的例子中,问题是我在早期的初始化器中使用了getClass.getResourceAsStream()。必须使用class.forName()显式指定类才能解决此问题:
class.forName().getResourceAsStream(“/data.xml”)

那么,您要传递的URL是什么?