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