我正在关注这个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 )但似乎不存在。
答案 0 :(得分:0)
您必须通过bnd.bnd Bnd Project Editor
维护Build Path / Bnd Bundle Path和API。
小心打开正确的编辑器。文件关联*.bnd
位于与文本编辑器关联的一些Eclipse实例中,而不是Bnd Bundle Editor。
使用Bnd Project Editor
打开bnd文件,然后通过
Repository
视图+
Source Tab
也是一个选项恕我直言DnD是最简单,最快捷的方式; - )