【发布时间】:2014-04-01 21:05:52
【问题描述】:
我正在尝试将 kyro 序列化与 scala 一起使用。我已将 .jar 包含在类路径中。
scalac -classpath *.jar *.scala
这给了我一个关于依赖库的错误:
$ scalac -classpath "*.jar" *.scala
warning: Class org.objenesis.strategy.InstantiatorStrategy not found - continuing with a stub.
error: error while loading Kryo, class file 'kryo-2.23.1-SNAPSHOT.jar(com/esotericsoftware/kryo/Kryo.class)' is broken
(class java.lang.NullPointerException/null)
one warning found
one error found
我也包括了这些:
scalac -classpath "*.jar:lib/*.jar" *.scala
现在我有这个错误:
$ scalac -classpath "*.jar:lib/*.jar" *.scala
test.scala:2: error: object esotericsoftware is not a member of package com
import com.esotericsoftware.kryo.Kryo
^
test.scala:7: error: not found: type Kryo
val kryo = new Kryo
^
two errors found
尝试使用 .jar 编译 java 文件很好:
javac -classpath *.jar *.java
为什么 scala 给我带来这么多麻烦?
【问题讨论】:
-
曾经考虑过使用sbt?我专门将 sbt 用于我的项目。它为您节省了像您尝试那样管理 jar 的麻烦。
-
通常我将 maven 用于大型项目。我只是想写一个小的单文件脚本来测试这个库中的一些东西。我希望它会像在 java 中那样快速和简单......