`从非法包导入`错误
`Import from illegal package` error
谁知道为什么
我从以下代码中得到错误 Table.scala:8:0: Import from illegal package
?
第 8 行指的是 import scala.collection.JavaConversions._
import org.allenai.common.Logging
import scala.collection.parallel.mutable
import java.io.FileReader
import au.com.bytecode.opencsv.CSVReader
import scala.collection.JavaConversions._
/** Created by i-danielk on 6/11/15.
*/
class Table(fileName: String) extends Logging {
val (titleRow, contentMatrix) = readCSV(fileName)
// reading from csv: for future
def readCSV(file: String): (Array[String], Array[Array[String]]) = {
val reader = new CSVReader(new FileReader(file))
val fullContents = for {
row <- reader.readAll
} yield {
row
}
(fullContents.head, fullContents.tail.toArray)
}
}
为了完整起见:Scala 编译器永远不会(据我所知)抱怨来自 "an illegal package" 的导入,所以这一定是有人在项目的 linter 中配置的规则正在使用(很可能 Scalastyle)。
许多人更喜欢更明确的 JavaConverters
(具有 asScala
和 asJava
丰富方法)而不是 JavaConversions
的神奇隐式转换,因此解决方案可能是只是为了切换到那个包。
谁知道为什么
我从以下代码中得到错误 Table.scala:8:0: Import from illegal package
?
第 8 行指的是 import scala.collection.JavaConversions._
import org.allenai.common.Logging
import scala.collection.parallel.mutable
import java.io.FileReader
import au.com.bytecode.opencsv.CSVReader
import scala.collection.JavaConversions._
/** Created by i-danielk on 6/11/15.
*/
class Table(fileName: String) extends Logging {
val (titleRow, contentMatrix) = readCSV(fileName)
// reading from csv: for future
def readCSV(file: String): (Array[String], Array[Array[String]]) = {
val reader = new CSVReader(new FileReader(file))
val fullContents = for {
row <- reader.readAll
} yield {
row
}
(fullContents.head, fullContents.tail.toArray)
}
}
为了完整起见:Scala 编译器永远不会(据我所知)抱怨来自 "an illegal package" 的导入,所以这一定是有人在项目的 linter 中配置的规则正在使用(很可能 Scalastyle)。
许多人更喜欢更明确的 JavaConverters
(具有 asScala
和 asJava
丰富方法)而不是 JavaConversions
的神奇隐式转换,因此解决方案可能是只是为了切换到那个包。