我知道有一些特定于Scala的工具可以创建OSGi捆绑包,但我对bndtools很满意,我只想把Scala和Java一起写,或者不写Java。
假设bndtools和Scala IDE安装在eclipse中(您可以在eclipse Marketplace中找到它们(。
- 像往常一样创建一个新的Bndtools OSGi项目(即从
File
菜单中,选择New
->Bndtools OSGi Project
( - 将Scala特性添加到项目中:右键单击PackageExplorer视图中的项目,然后在上下文菜单中选择
Configure
→Add Scala Nature
。(请参见http://scala-ide.org/docs/user/faq.html)
以上就是eclipse方面的全部内容,您现在可以添加Scala类,一切都将以与java相同的方式工作。
为了确保在命令行和CI服务器上也能正常工作,还需要执行更多步骤。
- 在文件
build.gradle
中添加以下行:apply plugin: 'scala'
- 到文件
gradle.properties
添加:scara.srcDirs=[projectDir/src]
更新:
以上内容还不够,必须向包含scala文件的任何子模块添加额外的build.bnd文件。以下内容并不优雅,因为它复制了bnd文件中已经存在的依赖项,但到目前为止,这是我找到的唯一解决方案:https://github.com/fusepoolP3/p3-entry-resource/blob/0df0bc35311c8a361f95d8e72f91c5e0df929245/build.gradle