如何使用Bndtools

时间:2016-11-27 19:27:23

标签: bndtools

我正在关注这个Bndtools教程http://bndtools.org/tutorial.html来实现一个简单的问候语服务。

首先,我在包org.example.api中创建了这个界面:

package org.example.api;

public interface Greeting {
  String sayHello( String name );
}

然后是一个在bundle org.example.impl中实现上述接口的服务:

package org.example.impl;

import org.osgi.service.component.annotations.Component;

@Component
public class GreetingComponent implements Greeting {
  public String sayHello( String name ) {
    return "Hello " + name;
  }
}

当然,无法解析类型Greeting。我的问题就出现了:将包导入声明添加到impl包中的指定方法是什么?我知道我可以手动编辑bnd.bnd的{​​{1}}以在org.example.impl指令中包含必要的包。

但这很不方便:记住包名,导航到相应的bnd文件,编辑指令,保存。这里不是添加缺失导入的更方便的方法吗?

我正在寻找类似快速修复的东西( Ctrl + 1 )但似乎不存在。

1 个答案:

答案 0 :(得分:0)

您必须通过bnd.bnd Bnd Project Editor维护Build Path / Bnd Bundle Path和API。 小心打开正确的编辑器。文件关联*.bnd位于与文本编辑器关联的一些Eclipse实例中,而不是Bnd Bundle Editor。 使用Bnd Project Editor打开bnd文件,然后通过

添加构建路径的包
  1. Repository视图
  2. 拖放
  3. 构建标签 - 使用搜索功能构建路径部分和按钮+
  4. Source Tab也是一个选项
  5. 恕我直言DnD是最简单,最快捷的方式; - )