我正在尝试编写规范,然后出现编译错误:
imported `Writer' is permanently hidden by definition of object ZipWriter in package util
[error] import com.thing.util.Writer
我有这个对象:
object Writer
我的规范是这样的:
package com.thing.util
import com.thing.util._
import java.io.File
class WriterSpec {
behavior of "buildFilePath"
it must "append the compressionExtension to the file" in {
val files: Array[File] = Array(new File("/some/filepath.someData"))
val compressed = Writer.buildFilePath(files, "gz")
compressed must be("/some/filepath.someData.gz")
}
}
有效但如果我尝试直接在import语句中指定Writer,则全部失败。是什么给了什么?
package com.thing.util
import com.gemini.util.Writer
import java.io.File
class WriterSpec {
behavior of "buildFilePath"
it must "append the compressionExtension to the file" in {
val files: Array[File] = Array(new File("/some/filepath.someData"))
val compressed = Writer.buildFilePath(files, "gz")
compressed must be("/some/filepath.someData.gz")
}
}
答案 0 :(得分:0)
package com.thing.util import com.thing.util._
在文件开头从您自己的包中导入任何东西(或所有东西)都没有意义,所有这些都已经可见。
我尝试直接在import语句中指定Writer,全部失败
消息说因为已经com.thing.util.Writer
,导入com.gemini.util.Writer
没有做任何事情,代码中的Writer
仍然意味着com.thing.util.Writer
(如果你需要使用com.gemini.util.Writer
,您需要将其写出来或使用重命名导入)。通常它应该是一个警告,你必须传递编译器选项,将警告变成错误。