从Java调用Scala代码?
问题描述:
我正在使用Netbeans编写Scala和Java。从Java调用Scala代码?
Netbeans为Scala项目生成了一个.jar文件。我试图在Java项目中导入该文件。但是我无法从该.jar文件导入任何类到我的Java项目中。
我也尝试导入scala-library.jar到java项目,并可以从该jar中导入类。
我想在Scala中编写我的库,然后公开一个只涉及Java内容的小接口,然后编写一个Java包装器,以便人们可以将它用作Java包。那可能吗?我该怎么做?
非常感谢。
答
这样做应该没有问题。
- 您是否验证(例如使用WinZip或
jar
实用程序),您的.jar
文件实际上包含了相关的.class
文件? (使用jar tvf mylib.jar
进行检查) - 如果您已验证
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
如果您确实有时间追查发生了什么问题,将答案放在这里会很有帮助。 – 2009-09-03 13:30:12