从Java调用Scala代码?

问题描述:

我正在使用Netbeans编写Scala和Java。从Java调用Scala代码?

Netbeans为Scala项目生成了一个.jar文件。我试图在Java项目中导入该文件。但是我无法从该.jar文件导入任何类到我的Java项目中。

我也尝试导入scala-library.jar到java项目,并可以从该jar中导入类。

我想在Scala中编写我的库,然后公开一个只涉及Java内容的小接口,然后编写一个Java包装器,以便人们可以将它用作Java包。那可能吗?我该怎么做?

非常感谢。

+1

如果您确实有时间追查发生了什么问题,将答案放在这里会很有帮助。 – 2009-09-03 13:30:12

这样做应该没有问题。

  1. 您是否验证(例如使用WinZip或jar实用程序),您的.jar文件实际上包含了相关的.class文件? (使用jar tvf mylib.jar进行检查)
  2. 如果您已验证jar文件中存在正确的.class文件,那么您看到的运行时错误是什么?这是一个NoClassDefFoundError?如果是这样,哪个class找不到?你如何在你的(Java)代码中引用(Scala)类?
+0

哦,谢谢。原来,这是由于我对Java的知识不足。我将我的包与scala-library.jar进行了比较,然后执行以下操作:1.确保所有类和子包都在同一个根包下2.编辑MANIFEST.MF文件,将scala-library.jar中的一个作为一个示例然后我可以从Java调用我的Scala类。我仍然不清楚问题来自哪里,但我现在很匆忙。我会在稍后找到。非常感谢你 :) – Phil 2009-09-03 07:52:38