<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
</dependency>
import org.osgi.service.component.annotations.Component;
@Component(service = MyService.class)
public class MyServiceImpl implements MyService {
public String sayHello() {
return "Hello from MyService!";
}
}
public interface MyService {
String sayHello();
}
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: my-service
Bundle-Version: 1.0.0
Import-Package: org.osgi.service.component.annotations;version="[1.3,2)"
Export-Package: com.example.my.service
Service-Component: OSGI-INF/my-component.xml
import org.osgi.service.component.annotations.Reference;
public class MyConsumer {
@Reference
private MyService myService;
public void useService() {
String message = myService.sayHello();
System.out.println(message);
}
}