mysql - NoClassDefFound错误: CompanionConversion in scala activerecord

标签 mysql scala activerecord

我的目标是连接 MySQL 数据库并读/写表,但是我在运行时不断收到错误(编译没问题):

线程“main”中的异常 java.lang.NoClassDefFoundError:com/github/aselab/activerecord/inner/CompanionConversion

我的代码是这样的:

构建.sbt:

name := "Simple Project"
version := "1.0"
scalaVersion := "2.10.4"

libraryDependencies ++= Seq(
  "com.github.aselab" %% "scala-activerecord" % "0.3.1",
  "org.slf4j" % "slf4j-nop" % "1.7.10", // other options are: slf4j-simple, logback-classic, etc...
  "mysql" % "mysql-connector-java" % "5.1.34"
)

./src/main/scala/Test.scala:

import com.github.aselab.activerecord._
import com.github.aselab.activerecord.dsl._
import dsl._

class Test {
  case class DateTest(var unix_timestamp: Long) extends ActiveRecord 
  object Tables extends ActiveRecordTables {
    val date_tests = table[DateTest]

  }   
  Tables.initialize(Map("schema" -> "tables.dev"))
  object DateTest extends ActiveRecordCompanion[DateTest]
  val a1 = DateTest.findBy("id" -> 1)
  println(s"field value: ${a1.get.unix_timestamp}")

./src/main/resources/application.conf:

tables {
  dev {
    driver = "some.Driver"
    jdbcurl = "some_url"
    username = "some_username"
    password = "some_password"
    partitionCount = 5 
    maxConnectionsPerPartition = 1 
    minConnectionsPerPartition = 5 
    autoCreate = false
    autoDrop = false
  }
  test {
    driver = "some.Driver"
    jdbcurl = "some:test"
    autoCreate = true
    autoDrop = true
  }
}

感谢任何帮助!

最佳答案

抱歉,不支持内部类中的模型和架​​构定义。 也许,它可以与以下代码一起使用:

src/main/scala/Test.scala

import com.github.aselab.activerecord._
import com.github.aselab.activerecord.dsl._

package models {
  case class DateTest(var unix_timestamp: Long) extends ActiveRecord
  object DateTest extends ActiveRecordCompanion[DateTest]

  object Tables extends ActiveRecordTables {
    val date_tests = table[DateTest]
  }
}

object Test extends App {
  import models._
  Tables.initialize(Map("schema" -> "tables.dev"))
  val a1 = DateTest.findBy("id" -> 1)
  println(s"field value: ${a1.get.unix_timestamp}")
  Tables.cleanup
}

src/main/resources/application.conf

models.Tables {
  dev {
    driver = "some.Driver"
    jdbcurl = "some_url"
    username = "some_username"
    password = "some_password"
    partitionCount = 5
    maxConnectionsPerPartition = 1
    minConnectionsPerPartition = 5
    autoCreate = false
    autoDrop = false
  }
  test {
    driver = "some.Driver"
    jdbcurl = "some:test"
    autoCreate = true
    autoDrop = true
  }
}

关于mysql - NoClassDefFound错误: CompanionConversion in scala activerecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29295359/

相关文章:

php - 使用用于 MySQL 的 PDO 准备语句将多个值从数据数组插入多个列

templates - 是否可以覆盖表单助手?

ruby-on-rails - 在 Rails 中从 ActiveRecord::RecordNotFound 获取额外信息

mysql - 如果我在没有先删除其索引的情况下删除 MySQL 列,会发生什么情况?

mysql - 查询以检索字段中包含重复值的行的 ID

mysql - 带计数和连接表的 SQL 查询

scala - 在playframework 2/scala中上传多个大文件和其他表单数据

scala - 单一类型特征中的双向链接

ruby-on-rails - 在 rails ActiveRecord 中别名 find_by 方法

ruby-on-rails - "TypeError: can' t 引用“使用自定义类型和属性 API 时