使用Scala 2.10运行Scala ^ Z3

Ama*_*any 3 scala z3 scala-2.10

我成功地在我的Mac OSX(Mountain Lion,JDK 7,Scala 2.10,Z3 4.3)上安装了Scala ^ Z3(在此之后:http://lara.epfl.ch/w/ScalaZ3).一切都很顺利,除了我不能从这个网站(http://lara.epfl.ch/w/jniz3-scala-examples)运行任何例子,没有得到这个讨厌的错误:

java.lang.NoClassDefFoundError: scala/reflect/ClassManifest
    at .<init>(<console>:8)
    at .<clinit>(<console>)
    at .<init>(<console>:7)
        ...
Caused by: java.lang.ClassNotFoundException: scala.reflect.ClassManifest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 29 more
Run Code Online (Sandbox Code Playgroud)

我认为这是因为Scala 2.9.x和2.10.x在处理反射时不兼容.因为我能够在Scala 2.9.x下运行相同的示例集.我的问题是,无论如何要解决这个并在Scala 2.10下运行Scala ^ Z3?

Rég*_*les 5

从查看项目属性和构建文件(https://github.com/psuter/ScalaZ3/blob/master/project/build.propertieshttps://github.com/psuter/ScalaZ3/blob/master/project/ build/scalaZ3.scala)我推断scalaZ3目前仅针对scala 2.9.2提供.目前没有跨版本支持.

在"build.properties"文件中将版本更改为scala 2.10.0后,您可能会尝试获取代码并自行编译.有关如何编译它的说明,请参阅此页面:https://github.com/psuter/ScalaZ3.如果你很幸运,代码将按照scala 2.10进行编译.如果你不是,可能会有一些小修复.交叉你的手指.

如果你不赶时间,你也可能会对Scala ^ Z3作者提出错误并要求他们提供scala 2.10版本的库.