1

scala で unboundid 経由で LDAP を使用しようとしていますが、コンパイラがクラッシュし続けます。

次のようなオブジェクトを作成しました。

package utils

import com.unboundid.ldap.sdk._

object LdapHelper {
  val ldap = LDAPConnection("ldap.example.com", 389)
}

Build.scala の appDependencies に "com.unboundid" % "unboundid-ldapsdk" % "2.3.1" を追加しました。Play 2.1 と Scala バージョン 2.10.1 を使用しています。

非常に奇妙なエラー メッセージが表示されます (以下を参照)。

エラー メッセージが非常に奇妙で、どこからヒントを探し始めればよいかわかりません。問題が unboundid、play、scala、sbt にあるかどうかわからない?

unboundid を scala プロジェクトにうまく統合するにはどうすればよいですか?

ありがとう


Scala コンパイラのエラー: アサーションに失敗しました: コンパイル中: C:\play\todolist\app\utils\LdapHelper.scala フェーズ中: global=typer, atPhase=parser ライブラリ バージョン: バージョン 2.10.2 コンパイラ バージョン: バージョン 2.10.2 再構築引数: -classpath C:\play\todolist.target;C:\eclipse\scala-SDK-3.0.1-vfinal-2.10-win32.win32.x86_64\configuration\org.eclipse.

...

typer への最後のツリー: Ident(LDAPConnection) シンボル: (フラグ: ) シンボル定義: シンボル所有者: コンテキスト所有者: 値 ldap -> オブジェクト LdapHelper -> パッケージ utils

== テンプレートまたはブロックを囲む ==

Template( // val : in object LdapHelper "java.lang.Object" // 親 ValDef( private "_" ) // 3 つのステートメント DefDef( // def : in object LdapHelper "" [] List(Nil) Block( Apply ( super."" Nil ) () ) DefDef( // def x: in object LdapHelper "x" [] Nil () ) ValDef( // private[this] val ldap: in object LdapHelper private "ldap" Apply( "LDAPConnection" // 2 つの引数 "ldap.example.com" 389 ) ) )

4

2 に答える 2

1

これを引き起こす Scala 2.10.2 のアサートに変わる警告がありました。

ここにバグがあります: https://issues.scala-lang.org/browse/SI-7014

そして、2.10.4 向けにステージングされた修正: https://github.com/scala/scala/pull/2829

次の Build.scala を使用して Play に Scala 2.10.4-SNAPSHOT を使用するように指示できます。

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

    val appName         = "AppName"
    val appVersion      = "1.0-SNAPSHOT"

    val mainDeps = Seq(
      jdbc,
      anorm,
      cache
    )

    lazy  val main = play.Project(appName, appVersion, mainDeps).settings(
      scalaVersion := "2.10.4-SNAPSHOT"
    )

}

build.sbt を使用している場合、ファイルは次のようになります。

import play.Project._

playScalaSettings

name := "AppName"

version := "1.0-SNAPSHOT"

scalaVersion := "2.10.4-SNAPSHOT"

libraryDependencies ++= Seq(jdbc, anorm, cache) 

注: (play ではなく) sbt からビルドする場合は、次のように scalaVersion 行の下にリポジトリ リゾルバーを追加する必要がある場合があります。 resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/repo/"

于 2013-10-24T03:56:55.230 に答える