Slick Lifted Table 类型错误

Posted

技术标签:

【中文标题】Slick Lifted Table 类型错误【英文标题】:Slick Lifted Table Type Error 【发布时间】:2013-12-30 09:32:58 【问题描述】:

将示例从github example 复制到我的项目后,我收到以下错误。我能够编译 github 示例项目。我觉得 sbt 一定是把我搞砸了。我正在使用 sbt 0.13

[error] .scala:13: too many arguments for constructor Object: ()Object
[error]   class Suppliers(tag: Tag) extends Table[(Int, String, String, String, String,   String)](tag, "SUPPLIERS") 
[error]                  ^
[error].scala:14: object column does not take type parameters.
[error]     def id = column[Int]("SUP_ID", O.PrimaryKey) // This is the primary key column

我的 build.sbt 看起来像

导入 AssemblyKeys._

名称:=“我的项目”

版本 := "1.0"

scalaVersion := "2.10.3"

装配设置

seq(Revolver.settings: _*)

libraryDependencies

解析器 += "Sonatype 快照" at "http://oss.sonatype.org/content/repositories/snapshots/"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

resolvers += "Sonatype Releases" at "http://oss.sonatype.org/content/repositories/releases"

解析器 += "CDH4" at "https://repository.cloudera.com/artifactory/cloudera-repos/"

解析器 += "glassfish" at "https://repository.jboss.org/nexus/content/repositories/glassfish"

resolvers += "spray repo" at "http://repo.spray.io"

解析器 += "anormcypher" at "http://repo.anormcypher.org/"

libraryDependencies +="com.typesafe.akka" %% "akka-actor" % "2.2.0"

libraryDependencies +="com.typesafe.akka" %% "akka-testkit" % "2.2.0"

libraryDependencies +="com.typesafe.akka" %% "akka-transactor" % "2.2.0"

libraryDependencies += "io.spray" % "spray-can" % "1.2-RC2"

libraryDependencies += "io.spray" % "spray-routing" % "1.2-RC2"

libraryDependencies += "io.spray" % "spray-testkit" % "1.2-RC2"

libraryDependencies += "io.spray" %% "spray-json" % "1.2.3"

libraryDependencies += "org.scalatest" % "scalatest_2.10" % "1.9.2"

libraryDependencies += "org.anormcypher" %% "anormcypher" % "0.4.4"

libraryDependencies += "com.h2database" % "h2" % "1.3.166"

libraryDependencies += "com.typesafe.slick" %% "slick" % "2.0.0-M3"

libraryDependencies += "org.postgresql" % "postgresql" % "9.2-1002-jdbc4"

【问题讨论】:

奇怪的错误信息。请将您的示例项目的整个代码推送到某个地方。 我不能推动这个项目,因为它是公司的。我实际上只是将链接文件复制到我的项目中并更改了模块名称。我做了一个文件的要点gist.github.com/bearrito/7923873 只有其他可能相关的错误:.scala:23: type arguments [Suppliers] 不符合 [error] 值的任何重载替代项的界限:[E <: scala.slick .lifted.abstracttable>]]=> scala.slick.lifted.TableQuery[E,E#TableElementType] [E <: scala.slick.lifted.abstracttable>]](缺点: scala.slick.lifted.Tag => E)scala.slick.lifted.TableQuery[E,E#TableElementType] 我最好的猜测是您可能在依赖项中包含了 Slick 1 和 Slick 2。如果您包含 play-slick,它会加载 Slick 1。删除其中之一。但这是一个疯狂的猜测。如果没有看到您项目的代码,我无法更具体。即使是公司,您也可以尽量减少问题的重现。 我重新创建了一个全新的项目github.com/bearrito/replicate-slick-issue 我可以在那里复制它。你有电子邮箱吗。我可以发送一些日志。 【参考方案1】:

您的导入错误。好像你使用了一些工具来根据他们的名字自动完成它们(或者你在疯狂地猜测)。无论如何,您导入了错误的东西。只需导入

import scala.slick.driver.H2Driver.simple._

你已经准备好了。见http://slick.typesafe.com/doc/2.0.0-M3/gettingstarted.html#imports

【讨论】:

是的,IntelliJ IDEA 为我填写了表导入。我最终复制了我看到的另一个问题,因此我恢复到 1.0.1。

以上是关于Slick Lifted Table 类型错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Slick Lifted Embedding 更新多个列?

`react-slick` - 类型无效错误

推断类型参数[Boolean]不符合方法过滤器的类型参数bounds [T.

未捕获的类型错误:$(...).slick 不是函数

react-slick slickNext 方法 - “未捕获的类型错误:无法读取未定义的属性‘滑块’”

无法使用 Slick 3.1.1 解析符号 NotNull