scala - 如何使用 bndtools 通过 Scala 创建 OSGi 包?

标签 scala osgi bndtools

我知道有一些特定于 Scala 的工具可以创建 OSGi 包,但我对 bndtools 非常满意,我只是想与 Java 一起编写 Scala 或代替 Java。

最佳答案

假设 bndtools 和 Scala IDE 安装在 eclipse 中(您可以在 Eclipse Marketplace 中找到它们)。

  • 像往常一样创建一个新的 Bndtools OSGi 项目(即从 File 菜单中选择 New -> Bndtools OSGi Project)
  • 向项目添加 Scala 特性:在 Package Explorer View 中右键单击项目,然后在上下文菜单中选择 ConfigureAdd 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/

相关文章:

scala - 将时间戳与 Spark 和 Scala 中的特定日期进行比较

java - 在 Eclipse 4 (RCP/SWT/OSGi) 应用程序中包含 log4j 的正确方法

java - 无法使用 bndtools 插件运行简单的 osgi 应用程序

python - Spark 连接呈指数级缓慢

scala - 在 scala Spark 中分组并保存重叠列的最大值

scala - JavaFX/ScalaFX 和剪贴板 : Cannot copy files?

java - 运行时 OSGi 依赖项中的 POJO 忽略导入的 Jackson 注释

osgi - OSGi 组件和服务之间有什么区别

java - Bndtools:准备运行时环境时出现问题