【问题标题】:scala -- can't import class from manually created jar, only eclipse-created runnable jarscala - 无法从手动创建的 jar 导入类,只能从 eclipse 创建的可运行 jar
【发布时间】:2013-08-24 22:35:06
【问题描述】:


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 -cvf MyJar.jar MyClass.class
scala -cp ./MyJar.jar:
...相同的结果。
好吧...scala -cp path/to/runnable_jar/created/from/eclipse.jar
scala> import package.name.MyClass
有效!

【问题讨论】:

  • 为了确定我想指出package 是一个保留字。
  • 谢谢——这个例子可能选得不好

标签: class scala import jar


【解决方案1】:

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

jar -cvf MyJar.jar MyClass.class

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

应该是jar -cvf MyJar.jar package

scala -cp ./MyClass.class

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 2015-08-15
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    相关资源
    最近更新 更多