从Java中调用Scala代码?

8
我正在使用Netbeans编写Scala和Java代码。
Netbeans为Scala项目生成了一个.jar文件。我尝试将该文件导入Java项目中,但是我无法从该.jar文件中导入任何类到我的Java项目中。
我还尝试将scala-library.jar导入到Java项目中,并且可以从该jar中导入类。
我想用Scala编写我的库,然后暴露出仅涉及Java内容的小接口,然后编写Java包装器,以便人们可以将其用作Java包。这可能吗?我该如何做?
非常感谢。

1
如果你有时间找出问题出在哪里,把答案放在这里会很有帮助。 - Daniel C. Sobral
1个回答

8

这样做应该没有问题。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接