2

我按照这个 Bndtools 教程http://bndtools.org/tutorial.html来实现一个简单的问候服务。

首先,我在 bundle 中创建了这个接口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以在指令org.example.impl中包含必要的包。-buildpath

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

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

4

1 回答 1

0

您必须通过 bnd.bnd 维护 Build Path/Bnd Bundle Path 和 API Bnd Project Editor。注意打开正确的编辑器。文件关联*.bnd在某些 Eclipse 实例中与文本编辑器关联,而不是 Bnd Bundle Editor。打开 bnd 文件Bnd Project Editor并通过以下方式添加构建路径的包

  1. Repository从视图中拖放
  2. 构建选项卡 - 构建路径部分和+具有搜索功能的按钮
  3. Source Tab也是一种选择

恕我直言 DnD 是最简单和最快的方法 ;-)

于 2016-11-29T06:39:00.470 回答