0

簡単なプロジェクトを作成しました。

「sbtrun」は正常に機能します。

「sbtpackage」を実行すると、jarファイルが表示されますが、機能しません。

$ scala target/scala-2.9.2/hello_2.9.2-0.1.jar

次のエラーが発生します。

java.lang.NoClassDefFoundError: com/mongodb/DBObject

これが私のファイルです:

Hello.scala

package greeter
object Hello extends App {
    import com.mongodb.casbah.Imports._
    val mongoClient =  MongoClient()
    println("Connected to MongoDB")
    val collection = mongoClient("test")("foo")
    val doc = MongoDBObject("msg" -> "Hi from Scala!")
    collection.insert(doc)
    println("Doc inserted");
}

build.sbt

name := "hello"

mainClass := Some("greeter.Hello")

version := "0.1"

scalaVersion := "2.9.2"

libraryDependencies += "org.mongodb" % "casbah_2.9.2" % "2.5.0"

resolvers += "snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"

resolvers += "releases"  at "https://oss.sonatype.org/content/groups/scala-tools"
4

1 に答える 1

1

コマンドを実行するときに、ライブラリの依存関係をクラスパスに追加する必要がありますscala。すべてのライブラリjarをlibフォルダーにダウンロードすると仮定すると、次のコマンドを実行する必要があります。

scala -cp "lib/*" target/scala-2.9.2/hello_2.9.2-0.1.jar

build.sbtで、次の設定を使用して、lib_managedフォルダー内のすべてのjarを自動的にダウンロードします。

retrieveManaged := true
于 2013-02-08T19:02:39.477 に答える