2016-07-29 74 views
1

我有一個項目使用sbt項目結構。直到昨天一切都在src/main/scala,但現在我添加了一些測試使用scalatest並將其放入src/test/scala錯誤使用scalatest,sbt目錄結構

下面是src/main/scala/SomeTables.scala相關的代碼(使用光滑3):

package com.slicktest 

import slick.driver.HsqldbDriver.api._ 

case class MyData(id: Int, my_double: Double) 

class MyTable(tag: Tag) extends Table[MyData](tag, "Test_Table") { 
    def id = column[Int]("ID_Test", O.PrimaryKey, O.AutoInc) 
    def my_column = column[Double](myTable.my_value) 
    def * = (id, my_column) <> ((MyData.apply _).tupled, MyData.unapply) 
} 
object myTable extends TableQuery(new MyTable(_)) { 
    var my_value = "" 
} 

如果我只編譯在src/main/scala它工作正常的文件,但是當我也想編譯測試文件(運行sbt testsrc/test/scala它打印以下錯誤信息:

Error:scalac: error while loading MyTable, class file 'C:\...\target\scala-2.11\classes\com\slicktest\MyTable.class' has location not matching its contents: contains class com.slicktest.myTable 

這裏有什麼問題,以及如何解決它?

回答

1

嘗試改變myTableMyTable(伴侶對象應該無論如何命名) - 我認爲,編譯器會嘗試創建MyTable.classmyTable.class和Windows名稱不區分大小寫。所以你用另一個覆蓋一個文件。