Я только начал изучать OSGi. я написал HelloWorld расслоение:OSGi: org.osgi.framework.BundleExceptiom: Невозможно разрешить [16] (R 16.0)
public class HelloWorld {
public interface SayHello
{
void greeting();
}
public static class Greeting implements SayHello {
@Override
public void greeting(){
System.out.println("Hello OSGi world!");
}
}
public static void main(String[] args) {
}
}
И HelloWorldActivator расслоение:
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class HelloWorldActivator implements BundleActivator {
public void start(BundleContext ctx){
ServiceReference ref = ctx.getServiceReference(HelloWorld.Greeting.class.getName());
((HelloWorld.Greeting)ctx.getService(ref)).greeting();
}
public void stop(BundleContext ctx){
System.out.println("HelloWorld bundle has been stoped");
}
}
HelloWorldActivator.mf:.
main-class: HelloWorldActivator
bundle-name: HelloWorldActivator
import-package: HelloWorld
загрузив его на Apache Felix (версия 5.6.1): screen И когда я пытаюсь запустить активатор, я получаю сообщение об ошибке: screen
Собственно, если вы посмотрите на его первый снимок экрана, есть два пучка. Тот, который содержит HelloWorld, другой содержит активатор. Не знаю, почему это было сделано. –
Спасибо, я обязательно проверю этот учебник. 2 пакета, потому что я хочу, чтобы один пучок использовал методы из другого. – DnyashA