0


Scala 提示允许我在 Java 类位于 Eclipse project-turned-runnable-jar 中时使用它,但不能在其他情况下使用。如何解决这个问题?我看到另一个 SO 回答说要使用 sbt,但为什么它适用于一个罐子而不是另一个罐子?以及如何使它与我的 .class 或手动创建的 .jar 一起使用?

使用命令: scala -cp ./MyClass.class:
scala> import package.name.MyClass
<console>:7: error: not found: value package
好的,让我们 jar 它...
jar -cvf MyJar.jar MyClass.class
scala -cp ./MyJar.jar:
... 同样的结果。
好吧......scala -cp path/to/runnable_jar/created/from/eclipse.jar
scala> import package.name.MyClass
它的工作原理!

4

1 回答 1

3

看看 Eclipse 创建的 jar 文件是如何排列的(使用 jar tf),并将其与您的进行比较。包路径很可能是错误的。

jar -cvf MyJar.jar MyClass.class

这不起作用,因为您需要将包路径保留为 jar 中的目录。

应该是jar -cvf MyJar.jar package

scala -cp ./MyClass.class

这不起作用,因为类路径必须指向带有类的文件夹(从包根文件夹开始)或 jar 文件。

应该是scala -cp classes(并且类有一个文件夹“包”)。

于 2013-08-22T09:24:17.677 回答