2014-02-28 70 views
1

我试图用scala将kyro序列化。我已将.jar包含在classpath中。将jar添加到scala classpath中,对象不是包的成员

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文件s罚款:

javac -classpath *.jar *.java 

为什么斯卡拉给我这么多麻烦?

+1

有没有考虑过使用[sbt](http://www.scala-sbt.org/)?我专门为我的项目使用sbt。它可以为您节省管理您的罐子的麻烦,就像您尝试的那样。 – joescii

+0

通常我使用maven来处理大型项目。我只想编写一个小的单一文件脚本来测试这个库中的东西。我希望它能像在java中一样快捷简单。 – kbirk

回答

2

使用-verbose来查看scalac看到的类路径以及从哪里加载类。

更多的建议,而不是答案。

相关问题