我的目标是连接 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/