如何为 scala 2.10.1 构建 sorm
Posted
技术标签:
【中文标题】如何为 scala 2.10.1 构建 sorm【英文标题】:How to build sorm for scala 2.10.1 【发布时间】:2013-08-26 20:37:56 【问题描述】:知道如何为 scala 2.10.1 构建 SORM 我正在尝试生成一个可以在我的 eclipse 项目中使用的 jar 文件。
这是我的代码
import sorm._
case class Coffee(name: String, supplier: Supplier, price: Double, sales: Int, total: Int)
case class Supplier(name: String, street: String, city: String, state: String, zip: String)
object Db extends Instance(
entities = Set(Entity[Coffee](),Entity[Supplier])),url="jdbc:mysql://localhost:3306/db123")
object sormtest
import Db._
def main(args: Array[String]): Unit =
val supplier1 = Supplier("Acme, Inc.", "99 Market Street", "Groundsville", "CA", "95199")
val supplier2 = Supplier("Superior Coffee", "1 Party Place", "Mendocino", "CA", "95460")
val supplier3 = Supplier("The High Ground", "100 Coffee Lane", "Meadows", "CA", "93966")
Db.save(supplier2) `
我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/impl/AbstractPoolBackedDataSource
at sorm.core.Connector.<init>(Connector.scala:16)
at sorm.Instance$Initialization.<init>(Instance.scala:209)
at sorm.Instance.<init>(Instance.scala:29)
at Db$.<init>(sormtest.scala:8)
at Db$.<clinit>(sormtest.scala)
at sormtest$.main(sormtest.scala:27)
at sormtest.main(sormtest.scala)
Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
我已经从http://mvnrepository.com/artifact/org.sorm-framework/sorm/0.3.8这里下载了jar文件
编辑: Maven 存储库列出了许多要包含的 jar 文件。一旦我添加了它们就解决了我的问题。
【问题讨论】:
您正在处理的问题与 SORM 和 Scala 无关。从错误消息中可以明显看出,您在类路径上缺少 SORM 所依赖的其他 jar。它们列在 Gourlaysama 提供的链接上。不过,我强烈建议您只使用 Maven 或 SBT。 【参考方案1】:无需自己构建,SORM 0.3.8 为available on Maven Central,支持Scala 2.10.x。
SBT:
libraryDependencies += "org.sorm-framework" % "sorm" % "0.3.8"
马文:
<dependency>
<groupId>org.sorm-framework</groupId>
<artifactId>sorm</artifactId>
<version>0.3.8</version>
</dependency>
如果你真的想要 JAR,you can download it from there too。
【讨论】:
以上是关于如何为 scala 2.10.1 构建 sorm的主要内容,如果未能解决你的问题,请参考以下文章
如何为现有 DataFrame 创建新行?在 PySpark 或 Scala 中