diff --git a/pom.xml b/pom.xml
index dd56fab..37f848b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,6 +38,11 @@
     <slf4j.version>1.7.30</slf4j.version>
     <xbean.version>4.18</xbean.version>
     <aries-cdi.version>1.1.1</aries-cdi.version>
+    <osgi.service.log.version>1.4.0</osgi.service.log.version>
+    <osgi.service.event.version>1.4.0</osgi.service.event.version>
+    <osgi.service.cm.version>1.6.0</osgi.service.cm.version>
+    <osgi.service.http.version>1.2.1</osgi.service.http.version>
+    <osgi.service.component.annotation.version>1.4.0</osgi.service.component.annotation.version>
 
     <surefire.log.level>INFO</surefire.log.level>
 
@@ -76,8 +81,28 @@
       </dependency>
       <dependency>
         <groupId>org.osgi</groupId>
-        <artifactId>osgi.cmpn</artifactId>
-        <version>${osgi.version}</version>
+        <artifactId>org.osgi.service.log</artifactId>
+        <version>${osgi.service.log.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.service.event</artifactId>
+        <version>${osgi.service.event.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.service.cm</artifactId>
+        <version>${osgi.service.cm.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.service.http</artifactId>
+        <version>${osgi.service.http.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.service.component.annotations</artifactId>
+        <version>${osgi.service.component.annotation.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.xbean</groupId>
diff --git a/winegrower-cepages/winegrower-cepage-cxf-rs/pom.xml b/winegrower-cepages/winegrower-cepage-cxf-rs/pom.xml
index 4d28adf..06768c1 100644
--- a/winegrower-cepages/winegrower-cepage-cxf-rs/pom.xml
+++ b/winegrower-cepages/winegrower-cepage-cxf-rs/pom.xml
@@ -46,8 +46,19 @@
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.cmpn</artifactId>
-      <version>${osgi.version}</version>
+      <artifactId>org.osgi.service.log</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.event</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.cm</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.component.annotations</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.aries.blueprint</groupId>
diff --git a/winegrower-cepages/winegrower-cepage-shell/pom.xml b/winegrower-cepages/winegrower-cepage-shell/pom.xml
index a431390..48d59f8 100644
--- a/winegrower-cepages/winegrower-cepage-shell/pom.xml
+++ b/winegrower-cepages/winegrower-cepage-shell/pom.xml
@@ -43,8 +43,18 @@
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.cmpn</artifactId>
-      <version>${osgi.version}</version>
+      <artifactId>org.osgi.service.log</artifactId>
+      <version>${osgi.service.log.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.event</artifactId>
+      <version>${osgi.service.event.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.cm</artifactId>
+      <version>${osgi.service.cm.version}</version>
     </dependency>
   </dependencies>
 
diff --git a/winegrower-core/pom.xml b/winegrower-core/pom.xml
index d8fef0f..2113e79 100644
--- a/winegrower-core/pom.xml
+++ b/winegrower-core/pom.xml
@@ -40,7 +40,15 @@
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.cmpn</artifactId>
+      <artifactId>org.osgi.service.log</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.event</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.cm</artifactId>
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
diff --git a/winegrower-core/src/test/java/org/apache/winegrower/RipenerTest.java b/winegrower-core/src/test/java/org/apache/winegrower/RipenerTest.java
index e1ec641..55cb14e 100644
--- a/winegrower-core/src/test/java/org/apache/winegrower/RipenerTest.java
+++ b/winegrower-core/src/test/java/org/apache/winegrower/RipenerTest.java
@@ -13,20 +13,6 @@
  */
 package org.apache.winegrower;
 
-import static java.util.Collections.singletonList;
-import static java.util.stream.Collectors.toMap;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Map;
-import java.util.Properties;
-
 import org.apache.winegrower.deployer.BundleImpl;
 import org.apache.winegrower.deployer.OSGiBundleLifecycle;
 import org.apache.winegrower.service.BundleActivatorHandler;
@@ -39,6 +25,20 @@
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleActivator;
 
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+import java.util.Properties;
+
+import static java.util.Collections.singletonList;
+import static java.util.stream.Collectors.toMap;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 class RipenerTest {
     @Test
     void overrideConfiguration() {
@@ -86,13 +86,13 @@
     @Test
     @WithRipener
     void ensureFrameworkBundle(@Service final Ripener ripener) {
-        assertEquals(5, ripener.getRegistry().getBundles().size(), () -> ripener.getRegistry().getBundles().toString());
+        assertEquals(4, ripener.getRegistry().getBundles().size(), () -> ripener.getRegistry().getBundles().toString());
     }
 
     @Test
     @WithRipener(includeResources = @Entry(path = "org.apache.winegrower.test.implicitactivator"))
     void implicitActivator(@Service final Ripener ripener) {
-        assertEquals(6, ripener.getRegistry().getBundles().size());
+        assertEquals(5, ripener.getRegistry().getBundles().size());
 
         final BundleActivatorHandler activatorHandler = ripener.getRegistry().getBundles().values().stream()
                 .filter(it -> it.getActivator() != null)
@@ -111,7 +111,7 @@
     @WithRipener(includeResources = @Entry(path = "org.apache.winegrower.test.simpleactivator"))
     void simpleActivator(@Service final Ripener ripener) {
         final Map<Long, OSGiBundleLifecycle> bundles = ripener.getRegistry().getBundles();
-        assertEquals(6, bundles.size());
+        assertEquals(5, bundles.size());
 
         final BundleActivatorHandler activatorHandler = ripener.getRegistry().getBundles().values().stream()
                 .filter(it -> it.getActivator() != null)
diff --git a/winegrower-examples/config/pom.xml b/winegrower-examples/config/pom.xml
index f7711ab..3fe0465 100644
--- a/winegrower-examples/config/pom.xml
+++ b/winegrower-examples/config/pom.xml
@@ -41,7 +41,15 @@
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>osgi.cmpn</artifactId>
+      <artifactId>org.osgi.service.log</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.event</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.cm</artifactId>
     </dependency>
 
     <!-- test -->
diff --git a/winegrower-extension/winegrower-servlet/pom.xml b/winegrower-extension/winegrower-servlet/pom.xml
index 7c1efe5..12be429 100644
--- a/winegrower-extension/winegrower-servlet/pom.xml
+++ b/winegrower-extension/winegrower-servlet/pom.xml
@@ -45,6 +45,10 @@
       <artifactId>winegrower-core</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.http</artifactId>
+    </dependency>
 
     <!-- keep it simple and use an already junit5 friendly testing container -->
     <dependency> <!-- for java 11 -->
