You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2020/10/19 14:13:52 UTC

[karaf] branch master updated: [KARAF-3467] Add Karaf BoM

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new 93feaa9  [KARAF-3467] Add Karaf BoM
     new d180aa2  Merge pull request #1234 from jbonofre/BOM
93feaa9 is described below

commit 93feaa9104debafbb1131aaf1f6621244839b0c9
Author: jbonofre <jb...@apache.org>
AuthorDate: Mon Oct 19 07:22:09 2020 +0200

    [KARAF-3467] Add Karaf BoM
---
 .../src/main/resources/archetype-resources/pom.xml |    2 +-
 .../src/main/resources/archetype-resources/pom.xml |    2 +-
 .../src/main/resources/archetype-resources/pom.xml |    4 +-
 assemblies/apache-karaf-minimal/pom.xml            |   12 +
 assemblies/apache-karaf/pom.xml                    |   12 +
 assemblies/features/base/pom.xml                   |   12 +
 assemblies/features/enterprise/pom.xml             |   12 +
 assemblies/features/framework/pom.xml              |   12 +
 assemblies/features/spring-legacy/pom.xml          |   12 +
 assemblies/features/spring/pom.xml                 |   12 +
 assemblies/features/standard/pom.xml               |   12 +
 assemblies/features/static/pom.xml                 |   12 +
 assemblies/test-cxf/pom.xml                        |  147 --
 audit/pom.xml                                      |   12 +
 pom.xml => bom/pom.xml                             | 1010 +-------------
 bundle/blueprintstate/pom.xml                      |   12 +
 bundle/core/pom.xml                                |   13 +
 bundle/springstate/pom.xml                         |   12 +
 client/pom.xml                                     |   12 +
 config/pom.xml                                     |   12 +
 deployer/blueprint/pom.xml                         |   12 +
 deployer/features/pom.xml                          |   12 +
 deployer/kar/pom.xml                               |   12 +
 deployer/spring/pom.xml                            |   12 +
 deployer/wrap/pom.xml                              |   12 +
 diagnostic/boot/pom.xml                            |   12 +
 diagnostic/core/pom.xml                            |   12 +
 docker/pom.xml                                     |   12 +
 event/.gitignore                                   |    1 -
 event/pom.xml                                      |   12 +
 .../karaf-bundle-example-client/pom.xml            |   12 +
 .../karaf-bundle-example-provider/pom.xml          |   12 +
 .../karaf-camel-example-java/pom.xml               |   12 +
 .../karaf-command-example-command/pom.xml          |   12 +
 .../karaf-command-example-provider/pom.xml         |   12 +
 examples/karaf-deployer-example/pom.xml            |   12 +
 .../karaf-docker-example-app/pom.xml               |   12 +
 .../karaf-docker-example-dynamic-dist/pom.xml      |   12 +
 .../karaf-docker-example-static-dist/pom.xml       |   12 +
 examples/karaf-dump-example/pom.xml                |   12 +
 examples/karaf-itest-example/pom.xml               |   12 +
 .../karaf-jaas-example-app/pom.xml                 |   12 +
 .../karaf-jdbc-example-command/pom.xml             |   12 +
 .../karaf-jdbc-example-provider/pom.xml            |   12 +
 .../karaf-jms-example-command/pom.xml              |   12 +
 .../karaf-jpa-example-command/pom.xml              |   12 +
 .../pom.xml                                        |   12 +
 .../pom.xml                                        |   12 +
 .../karaf-jpa-example-provider-ds-openjpa/pom.xml  |   12 +
 .../karaf-log-appender-example-core/pom.xml        |   12 +
 .../karaf-maven-example-run-bundle/pom.xml         |   12 +
 .../karaf-mbean-example-provider/pom.xml           |   12 +
 .../karaf-mbean-example-simple/pom.xml             |   12 +
 .../karaf-redis-example-command/pom.xml            |   12 +
 .../karaf-redis-example-service/pom.xml            |   12 +
 .../karaf-rest-example-client-cxf/pom.xml          |   12 +
 .../karaf-rest-example-client-http/pom.xml         |   12 +
 .../karaf-rest-example-client-jersey/pom.xml       |   12 +
 .../karaf-rest-example-scr/pom.xml                 |   12 +
 .../karaf-soap-example-client/pom.xml              |   12 +
 .../karaf-soap-example-scr/pom.xml                 |   12 +
 features/command/pom.xml                           |   12 +
 features/core/pom.xml                              |   12 +
 features/extension/pom.xml                         |   12 +
 http/pom.xml                                       |   12 +
 instance/pom.xml                                   |   12 +
 itests/common/pom.xml                              |   12 +
 itests/test/pom.xml                                |   12 +
 jaas/blueprint/config/pom.xml                      |   12 +
 jaas/blueprint/jasypt/pom.xml                      |   12 +
 jaas/boot/pom.xml                                  |   12 +
 jaas/command/pom.xml                               |   12 +
 jaas/config/pom.xml                                |   12 +
 jaas/jasypt/pom.xml                                |   12 +
 jaas/modules/pom.xml                               |   12 +
 jdbc/pom.xml                                       |   12 +
 jms/pom.xml                                        |   12 +
 jndi/pom.xml                                       |   12 +
 kar/pom.xml                                        |   12 +
 log/pom.xml                                        |   12 +
 main/pom.xml                                       |   12 +
 management/server/pom.xml                          |   12 +
 maven/core/pom.xml                                 |   12 +
 obr/pom.xml                                        |   12 +
 package/pom.xml                                    |   12 +
 pom.xml                                            | 1450 +-------------------
 profile/pom.xml                                    |   12 +
 scheduler/pom.xml                                  |   12 +
 scr/examples/README                                |   23 -
 scr/examples/component-factory/pom.xml             |   79 --
 .../factories/GreeterServiceComponentFactory.java  |   28 -
 .../component/GreeterServiceFactoryManager.java    |  103 --
 .../impl/GreeterServiceComponentFactoryImpl.java   |  148 --
 .../src/main/resources/OSGI-INF/bundle.info        |   28 -
 scr/examples/managed-service/pom.xml               |   79 --
 .../managed/service/ManagedGreeterService.java     |   28 -
 .../service/component/ManagedGreeterComponent.java |   93 --
 .../service/impl/ManagedGreeterServiceImpl.java    |  171 ---
 .../src/main/resources/OSGI-INF/bundle.info        |   28 -
 scr/examples/pom.xml                               |   41 -
 scr/examples/service/pom.xml                       |   79 --
 .../karaf/scr/examples/service/GreeterService.java |   26 -
 .../service/component/GreeterComponent.java        |   63 -
 .../examples/service/impl/GreeterServiceImpl.java  |   46 -
 .../src/main/resources/OSGI-INF/bundle.info        |   28 -
 scr/management/pom.xml                             |   12 +
 scr/pom.xml                                        |    1 -
 scr/state/pom.xml                                  |   13 +-
 service/core/pom.xml                               |   12 +
 service/guard/pom.xml                              |   12 +
 services/coordinator/pom.xml                       |   12 +
 services/eventadmin/pom.xml                        |   12 +
 services/interceptor/api/pom.xml                   |   12 +
 services/interceptor/impl/pom.xml                  |   12 +
 services/staticcm/pom.xml                          |   12 +
 shell/commands/pom.xml                             |   12 +
 shell/console/pom.xml                              |   12 +
 shell/core/pom.xml                                 |   12 +
 shell/ssh/pom.xml                                  |   14 +-
 shell/table/pom.xml                                |   12 +
 specs/activator/pom.xml                            |   14 +
 specs/java.xml.ws/pom.xml                          |   13 +
 specs/java.xml/pom.xml                             |   14 +
 specs/locator/pom.xml                              |   14 +
 subsystem/pom.xml                                  |   12 +
 system/pom.xml                                     |   12 +
 tooling/karaf-maven-plugin/pom.xml                 |   12 +
 tooling/karaf-services-maven-plugin/pom.xml        |   12 +
 tooling/utils/pom.xml                              |   14 +
 util/pom.xml                                       |   12 +
 web/pom.xml                                        |   12 +
 webconsole/console/pom.xml                         |   12 +
 webconsole/features/pom.xml                        |   12 +
 webconsole/gogo/pom.xml                            |   12 +
 webconsole/http/pom.xml                            |   12 +
 webconsole/instance/pom.xml                        |   12 +
 wrapper/pom.xml                                    |   12 +
 137 files changed, 1402 insertions(+), 3663 deletions(-)

diff --git a/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml b/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
index 9ca6f61..13684bd 100644
--- a/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/blueprint/src/main/resources/archetype-resources/pom.xml
@@ -33,7 +33,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
-                <version>^felix.plugin.version^</version>
+                <version>^felix.maven-bundle-plugin.version^</version>
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
diff --git a/archetypes/bundle/src/main/resources/archetype-resources/pom.xml b/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
index 5eacc21..06fbdd9 100644
--- a/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
@@ -33,7 +33,7 @@
     </description>
 
     <properties>
-        <maven-bundle-plugin.version>^felix.plugin.version^</maven-bundle-plugin.version>
+        <maven-bundle-plugin.version>^felix.maven-bundle-plugin.version^</maven-bundle-plugin.version>
         <osgi.version>^osgi.version^</osgi.version>
     </properties>
 
diff --git a/archetypes/command/src/main/resources/archetype-resources/pom.xml b/archetypes/command/src/main/resources/archetype-resources/pom.xml
index 88cd379..9547ce8 100644
--- a/archetypes/command/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/command/src/main/resources/archetype-resources/pom.xml
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.11</version>
+            <version>^junit.version^</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -71,7 +71,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
-                <version>^felix.plugin.version^</version>
+                <version>^felix.maven-bundle-plugin.version^</version>
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
diff --git a/assemblies/apache-karaf-minimal/pom.xml b/assemblies/apache-karaf-minimal/pom.xml
index b3cbcce..81e66a2 100644
--- a/assemblies/apache-karaf-minimal/pom.xml
+++ b/assemblies/apache-karaf-minimal/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/assemblies/apache-karaf/pom.xml b/assemblies/apache-karaf/pom.xml
index 3ab951a..cf41933 100644
--- a/assemblies/apache-karaf/pom.xml
+++ b/assemblies/apache-karaf/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/assemblies/features/base/pom.xml b/assemblies/features/base/pom.xml
index 701cbcf..eece2c7 100644
--- a/assemblies/features/base/pom.xml
+++ b/assemblies/features/base/pom.xml
@@ -36,6 +36,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
diff --git a/assemblies/features/enterprise/pom.xml b/assemblies/features/enterprise/pom.xml
index 1b017ba..670348e 100644
--- a/assemblies/features/enterprise/pom.xml
+++ b/assemblies/features/enterprise/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <!-- Framework distribution -->
diff --git a/assemblies/features/framework/pom.xml b/assemblies/features/framework/pom.xml
index 3ff57df..a6f4886 100644
--- a/assemblies/features/framework/pom.xml
+++ b/assemblies/features/framework/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/assemblies/features/spring-legacy/pom.xml b/assemblies/features/spring-legacy/pom.xml
index 2753613..3f53177 100644
--- a/assemblies/features/spring-legacy/pom.xml
+++ b/assemblies/features/spring-legacy/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <!-- Framework distribution -->
diff --git a/assemblies/features/spring/pom.xml b/assemblies/features/spring/pom.xml
index 009c2ae..cbf11b4 100644
--- a/assemblies/features/spring/pom.xml
+++ b/assemblies/features/spring/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <!-- Framework distribution -->
diff --git a/assemblies/features/standard/pom.xml b/assemblies/features/standard/pom.xml
index 3e07f67..ada7eb3 100644
--- a/assemblies/features/standard/pom.xml
+++ b/assemblies/features/standard/pom.xml
@@ -40,6 +40,18 @@
         <geronimo.jaspic-spec.version>1.1</geronimo.jaspic-spec.version>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <!-- Framework distribution -->
         <dependency>
diff --git a/assemblies/features/static/pom.xml b/assemblies/features/static/pom.xml
index 45979a2..f3ce99f 100644
--- a/assemblies/features/static/pom.xml
+++ b/assemblies/features/static/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/assemblies/test-cxf/pom.xml b/assemblies/test-cxf/pom.xml
deleted file mode 100644
index 5524b66..0000000
--- a/assemblies/test-cxf/pom.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.assemblies</groupId>
-        <artifactId>assemblies</artifactId>
-        <version>4.1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf</groupId>
-    <artifactId>test-cxf</artifactId>
-    <packaging>pom</packaging>
-    <name>Apache Karaf :: Assemblies :: Minimal Distribution</name>
-
-    <properties>
-        <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>static</artifactId>
-            <type>kar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>standard</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>enterprise</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf.karaf</groupId>
-            <artifactId>apache-cxf</artifactId>
-			<version>3.1.8</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-        <dependency>
-            <groupId>org.ops4j.pax.web</groupId>
-            <artifactId>pax-web-features</artifactId>
-			<version>4.4.0</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${project.basedir}/../..</directory>
-                <filtering>false</filtering>
-                <includes>
-                    <include>README.md</include>
-                    <include>BUILDING.md</include>
-                    <include>RELEASE*</include>
-                    <include>LICENSE</include>
-                    <include>NOTICE</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>process-resources</id>
-                        <goals>
-                            <goal>resources</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-remote-resources-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>process-resources</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>assembly</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>package</id>
-                        <goals>
-                            <goal>archive</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <startupFeatures>
-                        <feature>cxf-jaxws</feature>
-                        <feature>cxf-jaxrs</feature>
-                        <feature>httplite</feature>
-                        <feature>shell</feature>
-                        <feature>bundle</feature>
-                    </startupFeatures>
-                    <javase>1.8</javase>
-					<blacklistedBundles>
-						<bundle>mvn:javax.mail/mail/1.4.4</bundle>
-						<bundle>mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
-						<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1</bundle>
-						<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/2.2.11_1</bundle>
-					</blacklistedBundles>
-                </configuration>
-            </plugin>
-
-        </plugins>
-    </build>
-
-</project>
diff --git a/audit/pom.xml b/audit/pom.xml
index 627a3cb..c8e5fdf 100644
--- a/audit/pom.xml
+++ b/audit/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/pom.xml b/bom/pom.xml
similarity index 57%
copy from pom.xml
copy to bom/pom.xml
index 5115686..55dcac4 100644
--- a/pom.xml
+++ b/bom/pom.xml
@@ -22,339 +22,20 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.apache</groupId>
-        <artifactId>apache</artifactId>
-        <version>23</version>
-        <relativePath />
+        <groupId>org.apache.karaf</groupId>
+        <artifactId>karaf</artifactId>
+        <version>4.3.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <groupId>org.apache.karaf</groupId>
-    <artifactId>karaf</artifactId>
+    <artifactId>karaf-bom</artifactId>
+    <name>Apache Karaf :: BOM</name>
     <packaging>pom</packaging>
-    <version>4.3.0-SNAPSHOT</version>
-    <name>Apache Karaf</name>
-    <inceptionYear>2007</inceptionYear>
-
-    <modules>
-        <module>util</module>
-        <module>main</module>
-        <module>features</module>
-        <module>kar</module>
-        <module>bundle</module>
-        <module>config</module>
-        <module>instance</module>
-        <module>package</module>
-        <module>http</module>
-        <module>service</module>
-        <module>log</module>
-        <module>deployer</module>
-        <module>shell</module>
-        <module>jaas</module>
-        <module>client</module>
-        <module>management</module>
-        <module>system</module>
-        <module>web</module>
-        <module>wrapper</module>
-        <module>webconsole</module>
-        <module>scheduler</module>
-        <module>scr</module>
-        <module>diagnostic</module>
-        <module>obr</module>
-        <module>docker</module>
-        <module>jndi</module>
-        <module>jdbc</module>
-        <module>jms</module>
-        <module>maven</module>
-        <module>services</module>
-        <module>audit</module>
-        <module>subsystem</module>
-        <module>profile</module>
-        <module>event</module>
-        <module>tooling</module>
-        <module>manual</module>
-        <module>specs</module>
-        <module>assemblies</module>
-        <module>examples</module>
-        <module>archetypes</module>
-        <module>itests</module>
-    </modules>
-
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/karaf.git</connection>
-        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/karaf.git</developerConnection>
-        <url>https://gitbox.apache.org/repos/asf?p=karaf.git;a=summary</url>
-      <tag>HEAD</tag>
-  </scm>
-
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/KARAF</url>
-    </issueManagement>
-
-    <mailingLists>
-        <mailingList>
-            <name>Karaf Dev</name>
-            <subscribe>dev-subscribe@karaf.apache.org</subscribe>
-            <unsubscribe>dev-unsubscribe@karaf.apache.org</unsubscribe>
-            <post>-</post>
-            <archive>https://www.mail-archive.com/dev%40karaf.apache.org/</archive>
-        </mailingList>
-        <mailingList>
-            <name>Karaf User</name>
-            <subscribe>user-subscribe@karaf.apache.org</subscribe>
-            <unsubscribe>user-unsubscribe@karaf.apache.org</unsubscribe>
-            <post>-</post>
-            <archive>https://www.mail-archive.com/user%40karaf.apache.org/</archive>
-        </mailingList>
-        <mailingList>
-            <name>Karaf Commits</name>
-            <subscribe>commits-subscribe@karaf.apache.org</subscribe>
-            <unsubscribe>commits-unsubscribe@karaf.apache.org</unsubscribe>
-            <post>-</post>
-            <archive>https://www.mail-archive.com/commits%40karaf.apache.org/</archive>
-        </mailingList>
-        <mailingList>
-            <name>Karaf Issues</name>
-            <subscribe>issues-subscribe@karaf.apache.org</subscribe>
-            <unsubscribe>issues-unsubscribe@karaf.apache.org</unsubscribe>
-            <post>-</post>
-            <archive>https://www.mail-archive.com/issues%40karaf.apache.org/</archive>
-        </mailingList>
-    </mailingLists>
-
-    <developers>
-        <developer>
-            <name>The Apache Karaf Team</name>
-            <email>dev@karaf.apache.org</email>
-            <url>https://karaf.apache.org</url>
-            <organization>Apache Software Foundation</organization>
-            <organizationUrl>https://apache.org/</organizationUrl>
-            <properties>
-                <picUrl>https://karaf.apache.org/images/karaf-logo.png</picUrl>
-            </properties>
-        </developer>
-    </developers>
 
     <properties>
-        <activemq.version>5.15.11</activemq.version>
-        <aopalliance.bundle.version>1.0_6</aopalliance.bundle.version>
-        <aspectj.bundle.version>1.9.5_1</aspectj.bundle.version>
-        <asm.version>8.0.1</asm.version>
-        <javax.annotation.version>1.3.1</javax.annotation.version>
-        <awaitility.version>3.1.6</awaitility.version>
-        <bouncycastle.version>1.66</bouncycastle.version>
-        <camel.version>3.5.0</camel.version>
-        <cglib.bundle.version>3.2.9_1</cglib.bundle.version>
-        <cxf.version>3.3.7</cxf.version>
-        <jackson.version>2.11.3</jackson.version>
-        <jna.version>5.6.0</jna.version>
-        <jaxb.version>2.3.3</jaxb.version> 
-        <commons-beanutils.version>1.9.4</commons-beanutils.version>
-        <commons-codec.version>1.14</commons-codec.version>
-        <commons-compress.version>1.20</commons-compress.version>
-        <commons-collections.version>3.2.2</commons-collections.version>
-        <commons-fileupload.version>1.4</commons-fileupload.version>
-        <commons-lang.version>2.6</commons-lang.version>
-        <commons-lang3.version>3.11</commons-lang3.version>
-        <commons-logging.version>1.2</commons-logging.version>
-        <commons-pool2.version>2.6.2</commons-pool2.version>
-        <commons-io.version>2.8.0</commons-io.version>
-        <eclipselink.version>2.7.7</eclipselink.version>
-        <jasypt.bundle.version>1.9.3_1</jasypt.bundle.version>
-        <jolokia.version>1.6.2</jolokia.version>
-        <servlet.spec.groupId>javax.servlet</servlet.spec.groupId>
-        <servlet.spec.artifactId>javax.servlet-api</servlet.spec.artifactId>
-        <servlet.spec.version>3.1.0</servlet.spec.version>
-
-        <geronimo.jms-spec.version>1.1.1</geronimo.jms-spec.version>
-        <geronimo.jta-spec.version>1.1.1</geronimo.jta-spec.version>
-
-        <servicemix-spec.version>2.9.0</servicemix-spec.version>
-
-        <easymock.version>4.2</easymock.version>
-        <equinox.groupId>org.eclipse.platform</equinox.groupId>
-        <equinox.artifactId>org.eclipse.osgi</equinox.artifactId>
-        <equinox.version>3.16.0</equinox.version>
-        <bndlib.version>3.5.0</bndlib.version>
-        <equinox.region.version>1.2.101.v20150831-1342</equinox.region.version>
-        <equinox.coordinator.version>1.1.0.v20120522-1841</equinox.coordinator.version>
-
-        <felix.bundlerepository.version>2.0.10</felix.bundlerepository.version>
-        <felix.cm.json.version>1.0.2</felix.cm.json.version>
-        <felix.configadmin.version>1.9.18</felix.configadmin.version>
-        <felix.configadmin.interpolation.plugin.version>1.1.0</felix.configadmin.interpolation.plugin.version>
-        <felix.configurator.version>1.0.12</felix.configurator.version>
-        <felix.connect.version>0.2.0</felix.connect.version>
-        <felix.coordinator.version>1.0.2</felix.coordinator.version>
-        <felix.converter.version>1.0.14</felix.converter.version>
-        <felix.fileinstall.version>3.6.8</felix.fileinstall.version>
-        <felix.framework.version>6.0.3</felix.framework.version>
-        <felix.framework.security.version>2.6.1</felix.framework.security.version>
-        <felix.gogo.runtime.version>1.1.4</felix.gogo.runtime.version>
-        <felix.gogo.jline.version>1.1.6</felix.gogo.jline.version>
-        <felix.httplite.version>0.1.6</felix.httplite.version>
-        <felix.http.version>4.1.2</felix.http.version>
-        <felix.inventory.version>1.0.6</felix.inventory.version>
-        <felix.plugin.version>5.1.1</felix.plugin.version>
-        <felix.utils.version>1.11.4</felix.utils.version>
-        <felix.webconsole.version>4.5.4</felix.webconsole.version>
-        <felix.webconsole.api.version>3.3.0</felix.webconsole.api.version>
-        <felix.memoryusage.webconsole.plugin.version>1.0.10</felix.memoryusage.webconsole.plugin.version>
-        <felix.metatype.version>1.2.2</felix.metatype.version>
-        <felix.eventadmin.version>1.5.0</felix.eventadmin.version>
-        <felix.eventadmin.webconsole.plugin.version>1.1.8</felix.eventadmin.webconsole.plugin.version>
-        <felix.obr.version>1.0.2</felix.obr.version>
-        <felix.scr.version>2.1.24</felix.scr.version>
-        <felix.scr.webconsole.plugin.version>2.1.0</felix.scr.webconsole.plugin.version>
-        <felix.scr.annotation.version>1.12.0</felix.scr.annotation.version>
-        <felix.resolver.version>2.0.0</felix.resolver.version>
-
-        <aries.application.version>1.0.0</aries.application.version>
-        <aries.application.api.version>1.0.0</aries.application.api.version>
-        <aries.application.management.version>1.0.0</aries.application.management.version>
-        <aries.blueprint.api.version>1.0.1</aries.blueprint.api.version>
-        <aries.blueprint.core.version>1.10.2</aries.blueprint.core.version>
-        <aries.blueprint.core.compatibility.version>1.0.0</aries.blueprint.core.compatibility.version>
-        <aries.blueprint.cm.version>1.3.1</aries.blueprint.cm.version>
-        <aries.blueprint.web.version>1.1.1</aries.blueprint.web.version>
-        <aries.blueprint.webosgi.version>1.0.1</aries.blueprint.webosgi.version>
-        <aries.blueprint.spring.version>0.6.0</aries.blueprint.spring.version>
-        <aries.blueprint.spring.extender.version>0.4.0</aries.blueprint.spring.extender.version>
-        <aries.jmx.api.version>1.1.5</aries.jmx.api.version>
-        <aries.jmx.core.version>1.1.8</aries.jmx.core.version>
-        <aries.jmx.blueprint.api.version>1.2.0</aries.jmx.blueprint.api.version>
-        <aries.jmx.blueprint.core.version>1.2.0</aries.jmx.blueprint.core.version>
-        <aries.jmx.whiteboard.version>1.2.0</aries.jmx.whiteboard.version>
-        <aries.jpa.version>2.7.2</aries.jpa.version>
-        <aries.jpa.blueprint.aries.version>1.0.4</aries.jpa.blueprint.aries.version>
-        <aries.jpa.container.context.version>1.0.4</aries.jpa.container.context.version>
-        <aries.jndi.version>1.0.0</aries.jndi.version>
-        <aries.jndi.api.version>1.1.0</aries.jndi.api.version>
-        <aries.jndi.core.version>1.0.2</aries.jndi.core.version>
-        <aries.jndi.url.version>1.1.0</aries.jndi.url.version>
-        <aries.proxy.version>1.1.8</aries.proxy.version>
-        <aries.proxy.api.version>1.1.1</aries.proxy.api.version>
-        <aries.spifly.version>1.3.2</aries.spifly.version>
-        <aries.subsystem.api.version>2.0.10</aries.subsystem.api.version>
-        <aries.subsystem.core.version>2.0.10</aries.subsystem.core.version>
-        <aries.transaction.manager.version>1.3.3</aries.transaction.manager.version>
-        <aries.transaction.blueprint.version>1.1.1</aries.transaction.blueprint.version>
-        <aries.transaction.blueprint.version2>2.2.0</aries.transaction.blueprint.version2>
-        <aries.util.version>1.1.3</aries.util.version>
-        <atomikos.version>4.0.4</atomikos.version>
-
-        <openjpa.version>3.1.2</openjpa.version>
-        <geronimo.transaction.manager.version>3.1.3</geronimo.transaction.manager.version>
-        <guava.version>20.0</guava.version>
-        <narayana.version>5.10.6.Final</narayana.version>
-        <hibernate.ejb.version>3.4.0.GA</hibernate.ejb.version>
-        <hibernate.version>5.4.22.Final</hibernate.version>
-        <hibernate.validator.version>6.1.6.Final</hibernate.validator.version>
-        <httpclient.version>4.5.6</httpclient.version>
-        <jansi.version>1.18</jansi.version>
-        <javassist.version>3.9.0.GA</javassist.version>
-        <jline.version>3.16.0</jline.version>
-        <junit.version>4.13.1</junit.version>
-        <jsw.version>3.2.3</jsw.version>
-        <log4j.version>1.2.17</log4j.version>
-        <maven.version>3.6.3</maven.version>
-        <maven.wagon.version>3.2.0</maven.wagon.version>
-        <maven-plugin-annotations.version>3.6.0</maven-plugin-annotations.version>
-        <maven.resolver.version>1.3.1</maven.resolver.version>
-        <org.osgi.service.jdbc.version>1.0.0</org.osgi.service.jdbc.version>
-        <org.osgi.service.jpa.version>1.0.0</org.osgi.service.jpa.version>
-        <osgi.version>7.0.0</osgi.version>
-        <osgi.compendium.version>7.0.0</osgi.compendium.version>
 
-        <pax.cdi.version>1.1.3</pax.cdi.version>
-        <pax.exam.version>4.13.4</pax.exam.version>
-        <pax.logging.version>2.0.6</pax.logging.version>
-        <pax.base.version>1.5.1</pax.base.version>
-        <pax.swissbox.version>1.8.3</pax.swissbox.version>
-        <pax.url.version>2.6.2</pax.url.version>
-        <pax.web.version>7.3.9</pax.web.version>
-        <pax.tinybundle.version>3.0.0</pax.tinybundle.version>
-        <pax.jdbc.version>1.4.4</pax.jdbc.version>
-        <pax.jms.version>1.0.7</pax.jms.version>
-        <pax.transx.version>0.4.4</pax.transx.version>
-
-        <portlet-api.version>2.0</portlet-api.version>
-        <plexus-utils.version>3.2.1</plexus-utils.version>
-        <slf4j.version>1.7.29</slf4j.version>
-
-        <spring.osgi.version>1.2.1</spring.osgi.version>
-        <spring31.version>3.1.4.RELEASE</spring31.version>
-        <spring43.version>4.3.29.RELEASE_1</spring43.version>
-        <spring52.version>5.2.9.RELEASE_1</spring52.version>
-        <spring.security31.version>3.1.4.RELEASE</spring.security31.version>
-        <spring.security42.version>4.2.4.RELEASE_1</spring.security42.version>
-        <spring.security51.version>5.1.5.RELEASE_1</spring.security51.version>
-        <spring.security53.version>5.3.1.RELEASE_1</spring.security53.version>
-
-        <sling.commons.johnzon.version>1.2.6</sling.commons.johnzon.version>
-        <sshd.version>2.5.1</sshd.version>
-        <struts.bundle.version>1.3.10_1</struts.bundle.version>
-        <xbean.version>4.18</xbean.version>
-        <javax.mail.version>1.4.7</javax.mail.version>
-
-        <winsw.version>2.3.0</winsw.version>
-
-        <osgi-component-annotations.version>1.4.0</osgi-component-annotations.version>
-
-        <surefire.argLine />
-
-        <!-- Further used maven plugin versions; e.g. in the docs -->
-        <plugin.depends.version>1.4.0</plugin.depends.version>
-
-        <!-- General Settings -->
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <appendedResourcesDirectory>${basedir}/etc/appended-resources</appendedResourcesDirectory>
-        <bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy>
-        <!-- Disable OBR repository update by default -->
-        <obrRepository>NONE</obrRepository>
     </properties>
 
-    <repositories>
-        <!-- Apache snapshots -->
-        <repository>
-            <id>apache-snapshots</id>
-            <name>Apache Snapshots Repository</name>
-            <url>https://repository.apache.org/content/groups/snapshots-group</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-        <!-- OPS4J SNAPSHOT repository -->
-        <repository>
-            <id>ops4j.sonatype.snapshots.deploy</id>
-            <name>OPS4J snapshot repository</name>
-            <url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-    <pluginRepositories>
-        <!-- Apache snapshots -->
-        <pluginRepository>
-            <id>apache-snapshots</id>
-            <name>Apache Snapshots Repository</name>
-            <url>https://repository.apache.org/content/groups/snapshots-group</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
     <dependencyManagement>
         <dependencies>
             <dependency>
@@ -735,11 +416,11 @@
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>enterprise</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>enterprise</artifactId>
+                <type>xml</type>
+                <classifier>features</classifier>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.karaf.features</groupId>
@@ -747,37 +428,37 @@
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>framework</artifactId>
-              <type>kar</type>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>framework</artifactId>
+                <type>kar</type>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>framework</artifactId>
-              <classifier>features</classifier>
-              <type>xml</type>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>framework</artifactId>
+                <classifier>features</classifier>
+                <type>xml</type>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>static</artifactId>
-              <type>kar</type>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>static</artifactId>
+                <type>kar</type>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>spring</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>spring</artifactId>
+                <type>xml</type>
+                <classifier>features</classifier>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>standard</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>standard</artifactId>
+                <type>xml</type>
+                <classifier>features</classifier>
+                <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.karaf.itests</groupId>
@@ -1045,7 +726,7 @@
             <dependency>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
-                <version>${felix.plugin.version}</version>
+                <version>${felix.maven-bundle-plugin.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.maven</groupId>
@@ -1611,7 +1292,7 @@
                 <artifactId>org.apache.aries.subsystem.api</artifactId>
                 <version>${aries.subsystem.api.version}</version>
             </dependency>
-     
+
             <dependency>
                 <groupId>org.apache.aries.subsystem</groupId>
                 <artifactId>org.apache.aries.subsystem.core</artifactId>
@@ -1788,621 +1469,4 @@
         </dependencies>
     </dependencyManagement>
 
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-
-
-    </dependencies>
-
-    <build>
-        <defaultGoal>install</defaultGoal>
-
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>3.8.1</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-deploy-plugin</artifactId>
-                    <version>2.8.2</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-enforcer-plugin</artifactId>
-                    <version>3.0.0-M2</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-gpg-plugin</artifactId>
-                    <version>1.6</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.2.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>3.2.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-remote-resources-plugin</artifactId>
-                    <version>1.7.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-install-plugin</artifactId>
-                    <version>3.0.0-M1</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-eclipse-plugin</artifactId>
-                    <version>2.10</version>
-                    <configuration>
-                        <outputDirectory>${basedir}/eclipse-classes</outputDirectory>
-                        <downloadSources>true</downloadSources>
-                        <downloadJavadocs>true</downloadJavadocs>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-release-plugin</artifactId>
-                    <version>2.5.3</version>
-                    <configuration>
-                        <useReleaseProfile>false</useReleaseProfile>
-                        <preparationGoals>clean install</preparationGoals>
-                        <goals>deploy</goals>
-                        <arguments>-Prelease,deploy,src</arguments>
-                        <autoVersionSubmodules>true</autoVersionSubmodules>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-idea-plugin</artifactId>
-                    <version>2.2.1</version>
-                    <configuration>
-                        <downloadSources>true</downloadSources>
-                        <downloadJavadocs>true</downloadJavadocs>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.22.2</version>
-                    <configuration>
-                            <forkMode>once</forkMode>
-                            <argLine>${surefire.argLine}</argLine>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.servicemix.tooling</groupId>
-                    <artifactId>depends-maven-plugin</artifactId>
-                    <version>${plugin.depends.version}</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-source-plugin</artifactId>
-                    <version>3.2.1</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-assembly-plugin</artifactId>
-                    <version>3.2.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-antrun-plugin</artifactId>
-                    <version>3.0.0</version>
-                    <dependencies>
-                        <dependency>
-                            <groupId>ant-contrib</groupId>
-                            <artifactId>ant-contrib</artifactId>
-                            <version>1.0b3</version>
-                            <exclusions>
-                                <exclusion>
-                                    <groupId>ant</groupId>
-                                    <artifactId>ant</artifactId>
-                                </exclusion>
-                            </exclusions>
-                        </dependency>
-                        <dependency>
-                            <groupId>org.apache.ant</groupId>
-                            <artifactId>ant-nodeps</artifactId>
-                            <version>1.8.1</version>
-                        </dependency>
-                        <dependency>
-                            <groupId>ant</groupId>
-                            <artifactId>ant-optional</artifactId>
-                            <version>1.5.3-1</version>
-                        </dependency>
-                        <dependency>
-                            <groupId>org.ccil.cowan.tagsoup</groupId>
-                            <artifactId>tagsoup</artifactId>
-                            <version>1.2.1</version>
-                        </dependency>
-                    </dependencies>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>exec-maven-plugin</artifactId>
-                    <version>1.6.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-dependency-plugin</artifactId>
-                    <version>3.1.2</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>build-helper-maven-plugin</artifactId>
-                    <version>3.1.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-site-plugin</artifactId>
-                    <version>3.9.0</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-war-plugin</artifactId>
-                    <version>3.2.3</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.karaf.tooling</groupId>
-                    <artifactId>karaf-maven-plugin</artifactId>
-                    <version>${project.version}</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.apache.felix</groupId>
-                                        <artifactId>maven-bundle-plugin</artifactId>
-                                        <versionRange>[0,)</versionRange>
-                                        <goals>
-                                            <goal>cleanVersions</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.apache.maven.plugins</groupId>
-                                        <artifactId>maven-dependency-plugin</artifactId>
-                                        <versionRange>[0,)</versionRange>
-                                        <goals>
-                                            <goal>copy</goal>
-                                            <goal>unpack</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.apache.karaf.tooling</groupId>
-                                        <artifactId>karaf-maven-plugin</artifactId>
-                                        <versionRange>[0,)</versionRange>
-                                        <goals>
-                                            <goal>commands-generate-help</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.fusesource.scalate</groupId>
-                                        <artifactId>maven-scalate-plugin</artifactId>
-                                        <versionRange>[0,)</versionRange>
-                                        <goals>
-                                            <goal>sitegen</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.karaf.tooling</groupId>
-                    <artifactId>karaf-services-maven-plugin</artifactId>
-                    <version>${project.version}</version>
-                    <executions>
-                        <execution>
-                            <id>service-metadata-generate</id>
-                            <phase>process-classes</phase>
-                            <goals>
-                                <goal>service-metadata-generate</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                    <maxmem>256M</maxmem>
-                    <fork>${compiler.fork}</fork>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>enforce-maven</id>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <requireMavenVersion>
-                                    <version>[3.3.9,4)</version>
-                                </requireMavenVersion>
-                                <requireJavaVersion>
-                                    <version>[1.8,)</version>
-                                </requireJavaVersion>
-                            </rules>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-remote-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>process</goal>
-                        </goals>
-                        <configuration>
-                            <appendedResourcesDirectory>${appendedResourcesDirectory}</appendedResourcesDirectory>
-                            <resourceBundles>
-                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
-                            </resourceBundles>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>${felix.plugin.version}</version>
-                <inherited>true</inherited>
-                <extensions>true</extensions>
-                <configuration>
-                    <obrRepository>NONE</obrRepository>
-                    <instructions>
-                        <nsh_interface>org.apache.aries.blueprint.NamespaceHandler</nsh_interface>
-                        <nsh_namespace>osgi.service.blueprint.namespace</nsh_namespace>
-                        <_removeheaders>Private-Package,Include-Resource,Embed-Dependency,Created-By,Bnd-LastModified,Built-By,Tool</_removeheaders>
-                        <_versionpolicy>${bnd.version.policy}</_versionpolicy>
-                        <Bundle-DocURL>http://karaf.apache.org/</Bundle-DocURL>
-                    </instructions>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>cleanVersions</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>cleanVersions</goal>
-                        </goals>
-                        <configuration>
-                            <versions>
-                                <karaf.osgi.version>${project.version}</karaf.osgi.version>
-                            </versions>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.1.1</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-                <version>3.0.0</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>3.8.2</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-report-plugin</artifactId>
-                <version>2.22.2</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>3.0.0</version>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <profiles>
-        <profile>
-            <id>fastinstall</id>
-            <properties>
-              <maven.test.skip>true</maven.test.skip>
-              <invoker.skip>true</invoker.skip>
-              <archetype.test.skip>true</archetype.test.skip>
-            </properties>
-        </profile>
-        <profile>
-            <id>rat</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.rat</groupId>
-                        <artifactId>apache-rat-plugin</artifactId>
-                        <version>0.13</version>
-                        <executions>
-                            <execution>
-                                <phase>verify</phase>
-                                <goals>
-                                    <goal>check</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
-                            <excludeSubProjects>false</excludeSubProjects>
-                            <excludes>
-                                <exclude>**/*.pub</exclude>
-                                <exclude>**/target/**/*</exclude>
-                                <!-- GIT files -->
-                                <exclude>**/.git/**/*</exclude>
-                                <!-- IDEA files -->
-                                <exclude>**/.idea/**/*</exclude>
-                                <exclude>**/*.iml</exclude>
-                                <exclude>**/*.ipr</exclude>
-                                <exclude>**/*.iws</exclude>
-                                <!-- Eclipse files -->
-                                <exclude>**/.*</exclude>
-                                <exclude>**/eclipse-classes/**/*</exclude>
-                                <exclude>**/dependency-reduced-pom.xml</exclude>
-                                <exclude>**/.settings/**</exclude>
-                                <exclude>**/bin/**</exclude>
-                                <!-- resources file -->
-                                <exclude>**/goal.txt</exclude>
-                                <exclude>**/grep.txt</exclude>
-                                <exclude>**/edit.txt</exclude>
-                                <exclude>**/wc.txt</exclude>
-                                <exclude>**/foo</exclude>
-                                <exclude>**/org.ops4j.pax.exam.TestContainerFactory</exclude>
-                                <exclude>**/maven-metadata-local.xml</exclude>
-                                <!-- jline -->
-                                <exclude>**/src/main/java/jline/**/*.java</exclude>
-                                <!-- test manifests -->
-                                <exclude>**/*.mf</exclude>
-                                <!-- test json files -->
-                                <exclude>**/*.json</exclude>
-                                <!-- test wiring resource files -->
-                                <exclude>**/src/test/resources/wirings/*</exclude>
-                                <!-- SSH keys -->
-				                <exclude>**/*.key</exclude>
-                                <exclude>**/*.id_rsa</exclude>
-                                <!-- For Jenkins, ignore the .repository -->
-                                <exclude>.repository/**</exclude>
-                                <!-- jar files -->
-                                <exclude>**/*.jar</exclude>
-                            </excludes>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>release</id>
-            <modules>
-                <module>manual</module>
-            </modules>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <inherited>true</inherited>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>sign-artifacts</id>
-                                <phase>verify</phase>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                                <configuration>
-                                  <gpgArguments>
-                                    <arg>--pinentry-mode</arg>
-                                    <arg>loopback</arg>
-                                  </gpgArguments>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>make-assembly</id>
-                                <phase>none</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>build-helper-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>attach-assemblies</id>
-                                <phase>none</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>setup.eclipse</id>
-            <modules>
-                <module>assembly</module>
-            </modules>
-            <properties>
-                <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
-            </properties>
-            <build>
-                <defaultGoal>eclipse:eclipse</defaultGoal>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-eclipse-plugin</artifactId>
-                        <inherited>false</inherited>
-                        <executions>
-                            <execution>
-                                <id>setup.eclipse.workspace</id>
-                                <phase>process-test-sources</phase>
-                                <goals>
-                                    <goal>add-maven-repo</goal>
-                                </goals>
-                                <configuration>
-                                    <workspace>${eclipse.workspace.dir}</workspace>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <properties>
-                <createSourcesJar>true</createSourcesJar>
-            </properties>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>attach-sources</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <configuration>
-                            <source>1.8</source>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>attach-javadocs</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                                <configuration>
-                                    <additionalparam>${javadoc.opts}</additionalparam>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>doclint-java8-disable</id>
-            <activation>
-                <jdk>[1.8,)</jdk>
-            </activation>
-            <properties>
-                <javadoc.opts>-Xdoclint:none</javadoc.opts>
-            </properties>
-        </profile>
-        <profile>
-            <id>java9-plus</id>
-            <properties>
-                <surefire.argLine>
-                                  --add-opens java.base/java.security=ALL-UNNAMED
-                                  --add-opens java.base/java.net=ALL-UNNAMED 
-                                  --add-opens java.base/java.lang=ALL-UNNAMED
-                                  --add-opens java.base/java.util=ALL-UNNAMED
-                                  --add-opens java.naming/javax.naming.spi=ALL-UNNAMED
-                                  --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
-                </surefire.argLine>
-            </properties>
-            <activation>
-                <jdk>[9,)</jdk>
-            </activation>
-        </profile>
-    </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/bundle/blueprintstate/pom.xml b/bundle/blueprintstate/pom.xml
index 7a4249a..b3318e4 100644
--- a/bundle/blueprintstate/pom.xml
+++ b/bundle/blueprintstate/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/bundle/core/pom.xml b/bundle/core/pom.xml
index 4ea04a9..6edc259 100644
--- a/bundle/core/pom.xml
+++ b/bundle/core/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
@@ -90,6 +102,7 @@
             <scope>provided</scope>
         </dependency>
 
+        <!-- test -->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-jdk14</artifactId>
diff --git a/bundle/springstate/pom.xml b/bundle/springstate/pom.xml
index 1128634..b8df8a1 100644
--- a/bundle/springstate/pom.xml
+++ b/bundle/springstate/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/client/pom.xml b/client/pom.xml
index 79f6e36..e1c62aa 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.jline</groupId>
diff --git a/config/pom.xml b/config/pom.xml
index 523576a..b92137d 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/deployer/blueprint/pom.xml b/deployer/blueprint/pom.xml
index 637f0b6..baa04af 100644
--- a/deployer/blueprint/pom.xml
+++ b/deployer/blueprint/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf</groupId>
diff --git a/deployer/features/pom.xml b/deployer/features/pom.xml
index 3b75fb3..60bcd48 100644
--- a/deployer/features/pom.xml
+++ b/deployer/features/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf</groupId>
diff --git a/deployer/kar/pom.xml b/deployer/kar/pom.xml
index 2d9bf53..fe6767a 100644
--- a/deployer/kar/pom.xml
+++ b/deployer/kar/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/deployer/spring/pom.xml b/deployer/spring/pom.xml
index 601a446..0e481f8 100644
--- a/deployer/spring/pom.xml
+++ b/deployer/spring/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf</groupId>
diff --git a/deployer/wrap/pom.xml b/deployer/wrap/pom.xml
index b513c77..c90a605 100644
--- a/deployer/wrap/pom.xml
+++ b/deployer/wrap/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf</groupId>
diff --git a/diagnostic/boot/pom.xml b/diagnostic/boot/pom.xml
index 0e9a255..19aa0b1 100644
--- a/diagnostic/boot/pom.xml
+++ b/diagnostic/boot/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/diagnostic/core/pom.xml b/diagnostic/core/pom.xml
index 28c9ca7..f742cf7 100644
--- a/diagnostic/core/pom.xml
+++ b/diagnostic/core/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/docker/pom.xml b/docker/pom.xml
index 4c0e9f0..e5f8697 100644
--- a/docker/pom.xml
+++ b/docker/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/event/.gitignore b/event/.gitignore
deleted file mode 100644
index b83d222..0000000
--- a/event/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/event/pom.xml b/event/pom.xml
index 44a5d23..103ab45 100644
--- a/event/pom.xml
+++ b/event/pom.xml
@@ -51,6 +51,18 @@
         </plugins>
     </build>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/examples/karaf-bundle-example/karaf-bundle-example-client/pom.xml b/examples/karaf-bundle-example/karaf-bundle-example-client/pom.xml
index 8a0926f..3930d42 100644
--- a/examples/karaf-bundle-example/karaf-bundle-example-client/pom.xml
+++ b/examples/karaf-bundle-example/karaf-bundle-example-client/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Bundle :: Client</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-bundle-example/karaf-bundle-example-provider/pom.xml b/examples/karaf-bundle-example/karaf-bundle-example-provider/pom.xml
index d5780ea..5020543 100644
--- a/examples/karaf-bundle-example/karaf-bundle-example-provider/pom.xml
+++ b/examples/karaf-bundle-example/karaf-bundle-example-provider/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Bundle :: Provider</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-camel-example/karaf-camel-example-java/pom.xml b/examples/karaf-camel-example/karaf-camel-example-java/pom.xml
index cb4999d..749c6bd 100644
--- a/examples/karaf-camel-example/karaf-camel-example-java/pom.xml
+++ b/examples/karaf-camel-example/karaf-camel-example-java/pom.xml
@@ -32,6 +32,18 @@
     <packaging>bundle</packaging>
     <name>Apache Karaf :: Examples :: Camel :: Java DSL</name>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.karaf</groupId>
diff --git a/examples/karaf-command-example/karaf-command-example-command/pom.xml b/examples/karaf-command-example/karaf-command-example-command/pom.xml
index e45028a..a3c6825 100644
--- a/examples/karaf-command-example/karaf-command-example-command/pom.xml
+++ b/examples/karaf-command-example/karaf-command-example-command/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Shell Command :: Command</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-command-example/karaf-command-example-provider/pom.xml b/examples/karaf-command-example/karaf-command-example-provider/pom.xml
index 7c760eb..241951c 100644
--- a/examples/karaf-command-example/karaf-command-example-provider/pom.xml
+++ b/examples/karaf-command-example/karaf-command-example-provider/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Shell Command :: Service Provider</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-deployer-example/pom.xml b/examples/karaf-deployer-example/pom.xml
index 47b0d4e..b68dadc 100644
--- a/examples/karaf-deployer-example/pom.xml
+++ b/examples/karaf-deployer-example/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Deployer</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/examples/karaf-docker-example/karaf-docker-example-app/pom.xml b/examples/karaf-docker-example/karaf-docker-example-app/pom.xml
index cd9520f..6e904e4 100644
--- a/examples/karaf-docker-example/karaf-docker-example-app/pom.xml
+++ b/examples/karaf-docker-example/karaf-docker-example-app/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Docker :: Sample Application</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml b/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
index 0ec4acc..71f71fa 100644
--- a/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
+++ b/examples/karaf-docker-example/karaf-docker-example-dynamic-dist/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Docker :: Dynamic Distribution</name>
     <packaging>pom</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml b/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
index f7d839b..f049a37 100644
--- a/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
+++ b/examples/karaf-docker-example/karaf-docker-example-static-dist/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Docker :: Static Distribution</name>
     <packaging>pom</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
diff --git a/examples/karaf-dump-example/pom.xml b/examples/karaf-dump-example/pom.xml
index e969624..7e56681 100644
--- a/examples/karaf-dump-example/pom.xml
+++ b/examples/karaf-dump-example/pom.xml
@@ -32,6 +32,18 @@
     <packaging>bundle</packaging>
     <name>Apache Karaf :: Examples :: Dump</name>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/examples/karaf-itest-example/pom.xml b/examples/karaf-itest-example/pom.xml
index 90da5c2..862631f 100644
--- a/examples/karaf-itest-example/pom.xml
+++ b/examples/karaf-itest-example/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Integration Tests</name>
     <packaging>jar</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <!-- Provide the KarafTestSupport -->
         <dependency>
diff --git a/examples/karaf-jaas-example/karaf-jaas-example-app/pom.xml b/examples/karaf-jaas-example/karaf-jaas-example-app/pom.xml
index aff91ab..c587360 100644
--- a/examples/karaf-jaas-example/karaf-jaas-example-app/pom.xml
+++ b/examples/karaf-jaas-example/karaf-jaas-example-app/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JAAS :: App</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
diff --git a/examples/karaf-jdbc-example/karaf-jdbc-example-command/pom.xml b/examples/karaf-jdbc-example/karaf-jdbc-example-command/pom.xml
index 4265aae..24bbd87 100644
--- a/examples/karaf-jdbc-example/karaf-jdbc-example-command/pom.xml
+++ b/examples/karaf-jdbc-example/karaf-jdbc-example-command/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JDBC :: Command</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-jdbc-example/karaf-jdbc-example-provider/pom.xml b/examples/karaf-jdbc-example/karaf-jdbc-example-provider/pom.xml
index 4f90dd7..54d6d15 100644
--- a/examples/karaf-jdbc-example/karaf-jdbc-example-provider/pom.xml
+++ b/examples/karaf-jdbc-example/karaf-jdbc-example-provider/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JDBC :: Service Provider</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-jms-example/karaf-jms-example-command/pom.xml b/examples/karaf-jms-example/karaf-jms-example-command/pom.xml
index 69a298b..a05e40d 100644
--- a/examples/karaf-jms-example/karaf-jms-example-command/pom.xml
+++ b/examples/karaf-jms-example/karaf-jms-example-command/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JMS :: Command</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
diff --git a/examples/karaf-jpa-example/karaf-jpa-example-command/pom.xml b/examples/karaf-jpa-example/karaf-jpa-example-command/pom.xml
index 822c060..e60b21f 100644
--- a/examples/karaf-jpa-example/karaf-jpa-example-command/pom.xml
+++ b/examples/karaf-jpa-example/karaf-jpa-example-command/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JPA :: Command</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-eclipselink/pom.xml b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-eclipselink/pom.xml
index 8642db0..b57c583 100644
--- a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-eclipselink/pom.xml
+++ b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-eclipselink/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JPA :: Provider :: Declarative Service :: EclipseLink</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-hibernate/pom.xml b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-hibernate/pom.xml
index f4672e7..12a7e07 100644
--- a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-hibernate/pom.xml
+++ b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-hibernate/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JPA :: Provider :: Declarative Service :: Hibernate</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-openjpa/pom.xml b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-openjpa/pom.xml
index bbd6330..a85510c 100644
--- a/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-openjpa/pom.xml
+++ b/examples/karaf-jpa-example/karaf-jpa-example-provider/karaf-jpa-example-provider-ds/karaf-jpa-example-provider-ds-openjpa/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: JPA :: Provider :: Declarative Service :: OpenJPA</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml b/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
index 9416030..69443be 100644
--- a/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
+++ b/examples/karaf-log-appender-example/karaf-log-appender-example-core/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Log Appender :: Core</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.ops4j.pax.logging</groupId>
diff --git a/examples/karaf-maven-example/karaf-maven-example-run-bundle/pom.xml b/examples/karaf-maven-example/karaf-maven-example-run-bundle/pom.xml
index f318683..68a87da 100644
--- a/examples/karaf-maven-example/karaf-maven-example-run-bundle/pom.xml
+++ b/examples/karaf-maven-example/karaf-maven-example-run-bundle/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Maven :: Run Bundle</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/examples/karaf-mbean-example/karaf-mbean-example-provider/pom.xml b/examples/karaf-mbean-example/karaf-mbean-example-provider/pom.xml
index bc5bb0c..855a88f 100644
--- a/examples/karaf-mbean-example/karaf-mbean-example-provider/pom.xml
+++ b/examples/karaf-mbean-example/karaf-mbean-example-provider/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: MBean :: Service Provider</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-mbean-example/karaf-mbean-example-simple/pom.xml b/examples/karaf-mbean-example/karaf-mbean-example-simple/pom.xml
index 1079d31..8d0c6bb 100644
--- a/examples/karaf-mbean-example/karaf-mbean-example-simple/pom.xml
+++ b/examples/karaf-mbean-example/karaf-mbean-example-simple/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: MBean :: Simple</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-redis-example/karaf-redis-example-command/pom.xml b/examples/karaf-redis-example/karaf-redis-example-command/pom.xml
index 9900f8b..c6bde4c 100644
--- a/examples/karaf-redis-example/karaf-redis-example-command/pom.xml
+++ b/examples/karaf-redis-example/karaf-redis-example-command/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Redis :: Command</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-redis-example/karaf-redis-example-service/pom.xml b/examples/karaf-redis-example/karaf-redis-example-service/pom.xml
index 36887c3..d6914ca 100644
--- a/examples/karaf-redis-example/karaf-redis-example-service/pom.xml
+++ b/examples/karaf-redis-example/karaf-redis-example-service/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: Redis :: Service</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-cxf/pom.xml b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-cxf/pom.xml
index 2e8bade..0693ebb 100644
--- a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-cxf/pom.xml
+++ b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-cxf/pom.xml
@@ -25,6 +25,18 @@
 	<name>Apache Karaf :: Examples :: REST :: Client :: Apache CXF</name>
 	<packaging>bundle</packaging>
 
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.apache.karaf</groupId>
+				<artifactId>karaf-bom</artifactId>
+				<version>${project.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
 	<dependencies>
 		<dependency>
 			<groupId>javax.ws.rs</groupId>
diff --git a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-http/pom.xml b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-http/pom.xml
index 27d918f..b8e34d9 100644
--- a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-http/pom.xml
+++ b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-http/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: REST :: Client :: Java HTTP</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
diff --git a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-jersey/pom.xml b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-jersey/pom.xml
index bf97286..ca46129 100644
--- a/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-jersey/pom.xml
+++ b/examples/karaf-rest-example/karaf-rest-example-client/karaf-rest-example-client-jersey/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: REST :: Client :: Jersey</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>javax.ws.rs</groupId>
diff --git a/examples/karaf-rest-example/karaf-rest-example-scr/pom.xml b/examples/karaf-rest-example/karaf-rest-example-scr/pom.xml
index a00a5a5..30980dd 100644
--- a/examples/karaf-rest-example/karaf-rest-example-scr/pom.xml
+++ b/examples/karaf-rest-example/karaf-rest-example-scr/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: REST :: SCR</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/examples/karaf-soap-example/karaf-soap-example-client/pom.xml b/examples/karaf-soap-example/karaf-soap-example-client/pom.xml
index 989dc7e..07e4a95 100644
--- a/examples/karaf-soap-example/karaf-soap-example-client/pom.xml
+++ b/examples/karaf-soap-example/karaf-soap-example-client/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: SOAP :: Client</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
diff --git a/examples/karaf-soap-example/karaf-soap-example-scr/pom.xml b/examples/karaf-soap-example/karaf-soap-example-scr/pom.xml
index 7086fb4..0fa230d 100644
--- a/examples/karaf-soap-example/karaf-soap-example-scr/pom.xml
+++ b/examples/karaf-soap-example/karaf-soap-example-scr/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Examples :: SOAP :: SCR</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/features/command/pom.xml b/features/command/pom.xml
index 268bc3f..0be5401 100644
--- a/features/command/pom.xml
+++ b/features/command/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/features/core/pom.xml b/features/core/pom.xml
index 3788cae..386cf8b 100644
--- a/features/core/pom.xml
+++ b/features/core/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/features/extension/pom.xml b/features/extension/pom.xml
index f94b3f8..03c5d33 100644
--- a/features/extension/pom.xml
+++ b/features/extension/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/http/pom.xml b/http/pom.xml
index 15bc744..83cd3a4 100644
--- a/http/pom.xml
+++ b/http/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources/</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/instance/pom.xml b/instance/pom.xml
index 76d6779..7bea0db 100644
--- a/instance/pom.xml
+++ b/instance/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${project.basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/itests/common/pom.xml b/itests/common/pom.xml
index 9a59b15..573d2fe 100644
--- a/itests/common/pom.xml
+++ b/itests/common/pom.xml
@@ -32,6 +32,18 @@
     <name>Apache Karaf :: Integration Tests :: Common</name>
     <packaging>bundle</packaging>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.ops4j.pax.exam</groupId>
diff --git a/itests/test/pom.xml b/itests/test/pom.xml
index b8dda45..7f658f3 100644
--- a/itests/test/pom.xml
+++ b/itests/test/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.itests</groupId>
diff --git a/jaas/blueprint/config/pom.xml b/jaas/blueprint/config/pom.xml
index 95265e9..992e83c 100644
--- a/jaas/blueprint/config/pom.xml
+++ b/jaas/blueprint/config/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jaas/blueprint/jasypt/pom.xml b/jaas/blueprint/jasypt/pom.xml
index 3e530ee..f9c088f 100644
--- a/jaas/blueprint/jasypt/pom.xml
+++ b/jaas/blueprint/jasypt/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.jaas</groupId>
diff --git a/jaas/boot/pom.xml b/jaas/boot/pom.xml
index 5d420dc..c2404cb 100644
--- a/jaas/boot/pom.xml
+++ b/jaas/boot/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jaas/command/pom.xml b/jaas/command/pom.xml
index ed06060..8b6911c 100644
--- a/jaas/command/pom.xml
+++ b/jaas/command/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jaas/config/pom.xml b/jaas/config/pom.xml
index b526dfe..6340721 100644
--- a/jaas/config/pom.xml
+++ b/jaas/config/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.jaas</groupId>
diff --git a/jaas/jasypt/pom.xml b/jaas/jasypt/pom.xml
index 3dcccdd..8d5f85a 100644
--- a/jaas/jasypt/pom.xml
+++ b/jaas/jasypt/pom.xml
@@ -36,6 +36,18 @@
     <properties>
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
     
     <dependencies>
 
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index 9c53965..eb2d4cd 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index ef739b3..2e90fe8 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jms/pom.xml b/jms/pom.xml
index 3bc09be..788df5d 100644
--- a/jms/pom.xml
+++ b/jms/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jndi/pom.xml b/jndi/pom.xml
index 6617afc..2107d22 100644
--- a/jndi/pom.xml
+++ b/jndi/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.xbean</groupId>
diff --git a/kar/pom.xml b/kar/pom.xml
index a38694f..892ce74 100644
--- a/kar/pom.xml
+++ b/kar/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.felix</groupId>
diff --git a/log/pom.xml b/log/pom.xml
index 04b5999..285a90c 100644
--- a/log/pom.xml
+++ b/log/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources/</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/main/pom.xml b/main/pom.xml
index 9d683d9..18ded87 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/management/server/pom.xml b/management/server/pom.xml
index 2400fa0..5e26479 100644
--- a/management/server/pom.xml
+++ b/management/server/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/maven/core/pom.xml b/maven/core/pom.xml
index 46e60ab..0c05c8d 100644
--- a/maven/core/pom.xml
+++ b/maven/core/pom.xml
@@ -34,6 +34,18 @@
     <name>Apache Karaf :: Maven :: Core</name>
     <description>This bundle provides services and commands for Maven diagnostics.</description>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/obr/pom.xml b/obr/pom.xml
index 3f2dd48..9fda1a1 100644
--- a/obr/pom.xml
+++ b/obr/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources/</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/package/pom.xml b/package/pom.xml
index f06fcbc..bbb1965 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/pom.xml b/pom.xml
index 5115686..1f9ca7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,6 +36,7 @@
     <inceptionYear>2007</inceptionYear>
 
     <modules>
+        <module>bom</module>
         <module>util</module>
         <module>main</module>
         <module>features</module>
@@ -148,7 +149,7 @@
         <cxf.version>3.3.7</cxf.version>
         <jackson.version>2.11.3</jackson.version>
         <jna.version>5.6.0</jna.version>
-        <jaxb.version>2.3.3</jaxb.version> 
+        <jaxb.version>2.3.3</jaxb.version>
         <commons-beanutils.version>1.9.4</commons-beanutils.version>
         <commons-codec.version>1.14</commons-codec.version>
         <commons-compress.version>1.20</commons-compress.version>
@@ -195,7 +196,7 @@
         <felix.httplite.version>0.1.6</felix.httplite.version>
         <felix.http.version>4.1.2</felix.http.version>
         <felix.inventory.version>1.0.6</felix.inventory.version>
-        <felix.plugin.version>5.1.1</felix.plugin.version>
+        <felix.maven-bundle-plugin.version>5.1.1</felix.maven-bundle-plugin.version>
         <felix.utils.version>1.11.4</felix.utils.version>
         <felix.webconsole.version>4.5.4</felix.webconsole.version>
         <felix.webconsole.api.version>3.3.0</felix.webconsole.api.version>
@@ -301,11 +302,9 @@
 
         <osgi-component-annotations.version>1.4.0</osgi-component-annotations.version>
 
-        <surefire.argLine />
-
         <!-- Further used maven plugin versions; e.g. in the docs -->
         <plugin.depends.version>1.4.0</plugin.depends.version>
-
+        <surefire.argLine />
         <!-- General Settings -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <appendedResourcesDirectory>${basedir}/etc/appended-resources</appendedResourcesDirectory>
@@ -355,1454 +354,19 @@
         </pluginRepository>
     </pluginRepositories>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.osgi</groupId>
-                <artifactId>osgi.core</artifactId>
-                <version>${osgi.version}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>manual</artifactId>
-                <type>pdf</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>manual</artifactId>
-                <type>html</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>org.apache.karaf.main</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>org.apache.karaf.util</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>org.apache.karaf.client</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.specs</groupId>
-                <artifactId>org.apache.karaf.specs.locator</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.specs</groupId>
-                <artifactId>org.apache.karaf.specs.activator</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.specs</groupId>
-                <artifactId>org.apache.karaf.specs.java.xml</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.specs</groupId>
-                <artifactId>org.apache.karaf.specs.java.xml.ws</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.bundle</groupId>
-                <artifactId>org.apache.karaf.bundle.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.bundle</groupId>
-                <artifactId>org.apache.karaf.bundle.springstate</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.bundle</groupId>
-                <artifactId>org.apache.karaf.bundle.blueprintstate</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.package</groupId>
-                <artifactId>org.apache.karaf.package.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.http</groupId>
-                <artifactId>org.apache.karaf.http.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.jdbc</groupId>
-                <artifactId>org.apache.karaf.jdbc.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.jms</groupId>
-                <artifactId>org.apache.karaf.jms.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.jndi</groupId>
-                <artifactId>org.apache.karaf.jndi.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.service</groupId>
-                <artifactId>org.apache.karaf.service.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.service</groupId>
-                <artifactId>org.apache.karaf.service.guard</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.log</groupId>
-                <artifactId>org.apache.karaf.log.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.config</groupId>
-                <artifactId>org.apache.karaf.config.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.deployer</groupId>
-                <artifactId>org.apache.karaf.deployer.spring</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.deployer</groupId>
-                <artifactId>org.apache.karaf.deployer.blueprint</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.deployer</groupId>
-                <artifactId>org.apache.karaf.deployer.features</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.deployer</groupId>
-                <artifactId>org.apache.karaf.deployer.kar</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.deployer</groupId>
-                <artifactId>org.apache.karaf.deployer.wrap</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.kar</groupId>
-                <artifactId>org.apache.karaf.kar.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.obr</groupId>
-                <artifactId>org.apache.karaf.obr.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.management</groupId>
-                <artifactId>org.apache.karaf.management.server</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.features</groupId>
-                <artifactId>org.apache.karaf.features.extension</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.features</groupId>
-                <artifactId>org.apache.karaf.features.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.features</groupId>
-                <artifactId>org.apache.karaf.features.command</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-
-            <dependency>
-                <groupId>org.apache.karaf.profile</groupId>
-                <artifactId>org.apache.karaf.profile.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.diagnostic</groupId>
-                <artifactId>org.apache.karaf.diagnostic.boot</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.diagnostic</groupId>
-                <artifactId>org.apache.karaf.diagnostic.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.instance</groupId>
-                <artifactId>org.apache.karaf.instance.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.system</groupId>
-                <artifactId>org.apache.karaf.system.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.web</groupId>
-                <artifactId>org.apache.karaf.web.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.wrapper</groupId>
-                <artifactId>org.apache.karaf.wrapper.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.shell</groupId>
-                <artifactId>org.apache.karaf.shell.console</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.shell</groupId>
-                <artifactId>org.apache.karaf.shell.ssh</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.shell</groupId>
-                <artifactId>org.apache.karaf.shell.commands</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.shell</groupId>
-                <artifactId>org.apache.karaf.shell.table</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.shell</groupId>
-                <artifactId>org.apache.karaf.shell.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.jaas</groupId>
-                <artifactId>org.apache.karaf.jaas.boot</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas</groupId>
-                <artifactId>org.apache.karaf.jaas.command</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas</groupId>
-                <artifactId>org.apache.karaf.jaas.config</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas</groupId>
-                <artifactId>org.apache.karaf.jaas.jasypt</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas</groupId>
-                <artifactId>org.apache.karaf.jaas.modules</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas.blueprint</groupId>
-                <artifactId>org.apache.karaf.jaas.blueprint.config</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.jaas.blueprint</groupId>
-                <artifactId>org.apache.karaf.jaas.blueprint.jasypt</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.webconsole</groupId>
-                <artifactId>org.apache.karaf.webconsole.instance</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.webconsole</groupId>
-                <artifactId>org.apache.karaf.webconsole.console</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.webconsole</groupId>
-                <artifactId>org.apache.karaf.webconsole.features</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.webconsole</groupId>
-                <artifactId>org.apache.karaf.webconsole.gogo</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.webconsole</groupId>
-                <artifactId>org.apache.karaf.webconsole.http</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.scheduler</groupId>
-                <artifactId>org.apache.karaf.scheduler.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.services</groupId>
-                <artifactId>org.apache.karaf.services.staticcm</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.services</groupId>
-                <artifactId>org.apache.karaf.services.eventadmin</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.services</groupId>
-                <artifactId>org.apache.karaf.services.coordinator</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.subsystem</groupId>
-                <artifactId>org.apache.karaf.subsystem.core</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.scr</groupId>
-                <artifactId>org.apache.karaf.scr.management</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf.tooling.exam</groupId>
-                <artifactId>org.apache.karaf.tooling.exam.container</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf</artifactId>
-                <type>tar.gz</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf</artifactId>
-                <type>zip</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf-minimal</artifactId>
-                <type>tar.gz</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf-minimal</artifactId>
-                <type>zip</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>enterprise</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.features</groupId>
-                <artifactId>base</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>framework</artifactId>
-              <type>kar</type>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>framework</artifactId>
-              <classifier>features</classifier>
-              <type>xml</type>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>static</artifactId>
-              <type>kar</type>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>spring</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.karaf.features</groupId>
-              <artifactId>standard</artifactId>
-              <type>xml</type>
-              <classifier>features</classifier>
-              <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf.itests</groupId>
-                <artifactId>itests</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>javax.mail</groupId>
-                <artifactId>mail</artifactId>
-                <version>${javax.mail.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.framework</artifactId>
-                <version>${felix.framework.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.main</artifactId>
-                <version>${felix.framework.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.framework.security</artifactId>
-                <version>${felix.framework.security.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.osgi.service.obr</artifactId>
-                <version>${felix.obr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.osgi</groupId>
-                <artifactId>osgi.cmpn</artifactId>
-                <version>${osgi.compendium.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.service.jdbc</artifactId>
-                <version>${org.osgi.service.jdbc.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configadmin</artifactId>
-                <version>${felix.configadmin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configadmin.plugin.interpolation</artifactId>
-                <version>${felix.configadmin.interpolation.plugin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.cm.json</artifactId>
-                <version>${felix.cm.json.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configurator</artifactId>
-                <version>${felix.configurator.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.sling</groupId>
-                <artifactId>org.apache.sling.commons.johnzon</artifactId>
-                <version>${sling.commons.johnzon.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.bundlerepository</artifactId>
-                <version>${felix.bundlerepository.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.service.obr</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.apache.felix.shell</artifactId>
-                    </exclusion>
-
-                    <exclusion>
-                        <groupId>net.sf.kxml</groupId>
-                        <artifactId>kxml2</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.easymock</groupId>
-                        <artifactId>easymock</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.metatype</artifactId>
-                <version>${felix.metatype.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>net.sf.kxml</groupId>
-                        <artifactId>kxml2</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.utils</artifactId>
-                <version>${felix.utils.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.webconsole</artifactId>
-                <version>${felix.webconsole.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.webconsole.plugins.event</artifactId>
-                <version>${felix.eventadmin.webconsole.plugin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.webconsole.plugins.ds</artifactId>
-                <version>${felix.scr.webconsole.plugin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.webconsole.plugins.memoryusage</artifactId>
-                <version>${felix.memoryusage.webconsole.plugin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.fileinstall</artifactId>
-                <version>${felix.fileinstall.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.httplite.complete</artifactId>
-                <version>${felix.httplite.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.http.jetty</artifactId>
-                <version>${felix.http.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.eventadmin</artifactId>
-                <version>${felix.eventadmin.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.osgi</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>concurrent</groupId>
-                        <artifactId>concurrent</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.scr</artifactId>
-                <version>${felix.scr.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.resolver</artifactId>
-                <version>${felix.resolver.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.connect</artifactId>
-                <version>${felix.connect.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>net.java.dev.jna</groupId>
-                <artifactId>jna</artifactId>
-                <version>${jna.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>net.java.dev.jna</groupId>
-                <artifactId>jna-platform</artifactId>
-                <version>${jna.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-util</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-tree</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-analysis</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ow2.asm</groupId>
-                <artifactId>asm-commons</artifactId>
-                <version>${asm.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>biz.aQute.bndlib</artifactId>
-                <version>${bndlib.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>${felix.plugin.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-plugin-api</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-compat</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-core</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-artifact</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-settings</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-settings-builder</artifactId>
-                <version>${maven.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven.shared</groupId>
-                <artifactId>maven-dependency-tree</artifactId>
-                <version>3.0.1</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-provider-api</artifactId>
-                <version>${maven.wagon.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-http</artifactId>
-                <version>${maven.wagon.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-http-lightweight</artifactId>
-                <version>${maven.wagon.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-core</artifactId>
-                <version>${spring.osgi.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.springframework</groupId>
-                        <artifactId>org.springframework.aop</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.springframework</groupId>
-                        <artifactId>org.springframework.beans</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.springframework</groupId>
-                        <artifactId>org.springframework.context</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.springframework</groupId>
-                        <artifactId>org.springframework.core</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-io</artifactId>
-                <version>${spring.osgi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-extender</artifactId>
-                <version>${spring.osgi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-annotation</artifactId>
-                <version>${spring.osgi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-test</artifactId>
-                <version>${spring.osgi.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.springframework.osgi</groupId>
-                        <artifactId>asm.osgi</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.junit</groupId>
-                        <artifactId>com.springsource.junit</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.objectweb.asm</groupId>
-                        <artifactId>com.springsource.org.objectweb.asm</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.springframework.osgi</groupId>
-                <artifactId>spring-osgi-web</artifactId>
-                <version>${spring.osgi.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.eclipse.equinox</groupId>
-                <artifactId>org.eclipse.equinox.region</artifactId>
-                <version>${equinox.region.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.eclipse.equinox</groupId>
-                <artifactId>org.eclipse.equinox.coordinator</artifactId>
-                <version>${equinox.coordinator.version}</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-jms_1.1_spec</artifactId>
-                <version>${geronimo.jms-spec.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>log4j</groupId>
-                <artifactId>log4j</artifactId>
-                <version>${log4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.fusesource.jansi</groupId>
-                <artifactId>jansi</artifactId>
-                <version>${jansi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.jline</groupId>
-                <artifactId>jline</artifactId>
-                <version>${jline.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-jdk14</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-nop</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-simple</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>jcl-over-slf4j</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-log4j12</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.ops4j.pax.logging</groupId>
-                <artifactId>pax-logging-api</artifactId>
-                <version>${pax.logging.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.logging</groupId>
-                <artifactId>pax-logging-log4j1</artifactId>
-                <version>${pax.logging.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.logging</groupId>
-                <artifactId>pax-logging-log4j2</artifactId>
-                <version>${pax.logging.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.ops4j.pax.url</groupId>
-                <artifactId>pax-url-commons</artifactId>
-                <version>${pax.url.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.url</groupId>
-                <artifactId>pax-url-obr</artifactId>
-                <version>${pax.url.version}</version>
-                <classifier>uber</classifier>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.url</groupId>
-                <artifactId>pax-url-war</artifactId>
-                <version>${pax.url.version}</version>
-                <classifier>uber</classifier>
-            </dependency>
-
-            <dependency>
-                <groupId>org.ops4j.base</groupId>
-                <artifactId>ops4j-base-lang</artifactId>
-                <version>${pax.base.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.base</groupId>
-                <artifactId>ops4j-base-util-property</artifactId>
-                <version>${pax.base.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.base</groupId>
-                <artifactId>ops4j-base-util-collections</artifactId>
-                <version>${pax.base.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.url</groupId>
-                <artifactId>pax-url-aether</artifactId>
-                <version>${pax.url.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.sonatype.aether</groupId>
-                        <artifactId>aether-api</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.sonatype.aether</groupId>
-                        <artifactId>aether-spi</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.sonatype.aether</groupId>
-                        <artifactId>aether-util</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.sonatype.aether</groupId>
-                        <artifactId>aether-impl</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.sonatype.aether</groupId>
-                        <artifactId>aether-connector-wagon</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.maven</groupId>
-                        <artifactId>maven-aether-provider</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.maven.wagon</groupId>
-                        <artifactId>wagon-provider-api</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.maven.wagon</groupId>
-                        <artifactId>wagon-file</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.maven.wagon</groupId>
-                        <artifactId>wagon-http-lightweight</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.codehaus.plexus</groupId>
-                        <artifactId>plexus-container-default</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.codehaus.plexus</groupId>
-                        <artifactId>plexus-utils</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>commons-httpclient</groupId>
-                        <artifactId>commons-httpclient</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.ops4j.pax.url</groupId>
-                        <artifactId>pax-url-aether-support</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.swissbox</groupId>
-                <artifactId>pax-swissbox-property</artifactId>
-                <version>${pax.swissbox.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.url</groupId>
-                <artifactId>pax-url-wrap</artifactId>
-                <version>${pax.url.version}</version>
-                <classifier>uber</classifier>
-            </dependency>
-            <dependency>
-                <groupId>${servlet.spec.groupId}</groupId>
-                <artifactId>${servlet.spec.artifactId}</artifactId>
-                <version>${servlet.spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.easymock</groupId>
-                <artifactId>easymock</artifactId>
-                <version>${easymock.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.activator</artifactId>
-                <version>${servicemix-spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.locator</artifactId>
-                <version>2.10</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jaxp-api-1.4</artifactId>
-                <version>1.4_1</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jaxb-api-2.2</artifactId>
-                <version>${servicemix-spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jaxws-api-2.2</artifactId>
-                <version>${servicemix-spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId>
-                <version>${servicemix-spec.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.stax-api-1.2</artifactId>
-                <version>1.2_1</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.sshd</groupId>
-                <artifactId>sshd-osgi</artifactId>
-                <version>${sshd.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.sshd</groupId>
-                <artifactId>sshd-scp</artifactId>
-                <version>${sshd.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.sshd</groupId>
-                <artifactId>sshd-sftp</artifactId>
-                <version>${sshd.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.exam</groupId>
-                <artifactId>pax-exam</artifactId>
-                <version>${pax.exam.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.exam</groupId>
-                <artifactId>pax-exam-container-karaf</artifactId>
-                <version>${pax.exam.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.exam</groupId>
-                <artifactId>pax-exam-junit4</artifactId>
-                <version>${pax.exam.version}</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.tinybundles</groupId>
-                <artifactId>tinybundles</artifactId>
-                <version>${pax.tinybundle.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>${equinox.groupId}</groupId>
-                <artifactId>${equinox.artifactId}</artifactId>
-                <version>${equinox.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.api</artifactId>
-                <version>${aries.application.api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.default.local.platform</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.deployment.management</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.install</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.management</artifactId>
-                <version>${aries.application.management.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.modeller</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.utils</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.resolver.obr</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.application</groupId>
-                <artifactId>org.apache.aries.application.runtime</artifactId>
-                <version>${aries.application.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.aries.blueprint</groupId>
-                <artifactId>org.apache.aries.blueprint.api</artifactId>
-                <version>${aries.blueprint.api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.blueprint</groupId>
-                <artifactId>org.apache.aries.blueprint.cm</artifactId>
-                <version>${aries.blueprint.cm.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.blueprint</groupId>
-                <artifactId>org.apache.aries.blueprint.core.compatibility</artifactId>
-                <version>${aries.blueprint.core.compatibility.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.blueprint</groupId>
-                <artifactId>org.apache.aries.blueprint.core</artifactId>
-                <version>${aries.blueprint.core.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.proxy</groupId>
-                <artifactId>org.apache.aries.proxy.api</artifactId>
-                <version>${aries.proxy.api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.proxy</groupId>
-                <artifactId>org.apache.aries.proxy</artifactId>
-                <version>${aries.proxy.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries</groupId>
-                <artifactId>org.apache.aries.util</artifactId>
-                <version>${aries.util.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jmx</groupId>
-                <artifactId>org.apache.aries.jmx.api</artifactId>
-                <version>${aries.jmx.api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jmx</groupId>
-                <artifactId>org.apache.aries.jmx.core</artifactId>
-                <version>${aries.jmx.core.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jmx</groupId>
-                <artifactId>org.apache.aries.jmx.whiteboard</artifactId>
-                <version>${aries.jmx.whiteboard.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jmx</groupId>
-                <artifactId>org.apache.aries.jmx.blueprint.api</artifactId>
-                <version>${aries.jmx.blueprint.api.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jmx</groupId>
-                <artifactId>org.apache.aries.jmx.blueprint.core</artifactId>
-                <version>${aries.jmx.blueprint.core.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.slf4j</groupId>
-                        <artifactId>slf4j-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jndi</groupId>
-                <artifactId>org.apache.aries.jndi.api</artifactId>
-                <version>${aries.jndi.api.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jndi</groupId>
-                <artifactId>org.apache.aries.jndi.core</artifactId>
-                <version>${aries.jndi.core.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jndi</groupId>
-                <artifactId>org.apache.aries.jndi.legacy.support</artifactId>
-                <version>${aries.jndi.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jndi</groupId>
-                <artifactId>org.apache.aries.jndi.url</artifactId>
-                <version>${aries.jndi.url.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jndi</groupId>
-                <artifactId>org.apache.aries.jndi.rmi</artifactId>
-                <version>${aries.jndi.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.aries.transaction</groupId>
-                <artifactId>org.apache.aries.transaction.blueprint</artifactId>
-                <version>${aries.transaction.blueprint.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.transaction</groupId>
-                <artifactId>org.apache.aries.transaction.manager</artifactId>
-                <version>${aries.transaction.manager.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.aries.jpa</groupId>
-                <artifactId>org.apache.aries.jpa.api</artifactId>
-                <version>${aries.jpa.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jpa</groupId>
-                <artifactId>org.apache.aries.jpa.blueprint.aries</artifactId>
-                <version>${aries.jpa.blueprint.aries.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jpa</groupId>
-                <artifactId>org.apache.aries.jpa.container</artifactId>
-                <version>${aries.jpa.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.aries.jpa</groupId>
-                <artifactId>org.apache.aries.jpa.container.context</artifactId>
-                <version>${aries.jpa.container.context.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.aries.subsystem</groupId>
-                <artifactId>org.apache.aries.subsystem.api</artifactId>
-                <version>${aries.subsystem.api.version}</version>
-            </dependency>
-     
-            <dependency>
-                <groupId>org.apache.aries.subsystem</groupId>
-                <artifactId>org.apache.aries.subsystem.core</artifactId>
-                <version>${aries.subsystem.core.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.gogo.runtime</artifactId>
-                <version>${felix.gogo.runtime.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.gogo.jline</artifactId>
-                <version>${felix.gogo.jline.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-api</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-spi</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-runtime</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-jetty</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-jetty-bundle</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-jsp</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-deployer</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-extender-war</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.web</groupId>
-                <artifactId>pax-web-extender-whiteboard</artifactId>
-                <version>${pax.web.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.ops4j.pax.jms</groupId>
-                <artifactId>pax-jms-api</artifactId>
-                <version>${pax.jms.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.xbean</groupId>
-                <artifactId>xbean-finder-shaded</artifactId>
-                <version>${xbean.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.xbean</groupId>
-                <artifactId>xbean-blueprint</artifactId>
-                <version>${xbean.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.xbean</groupId>
-                <artifactId>xbean-naming</artifactId>
-                <version>${xbean.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>tanukisoft</groupId>
-                <artifactId>wrapper</artifactId>
-                <version>${jsw.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-compress</artifactId>
-                <version>${commons-compress.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-lang3</artifactId>
-                <version>${commons-lang3.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-collections</groupId>
-                <artifactId>commons-collections</artifactId>
-                <version>${commons-collections.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons-io.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-logging</groupId>
-                <artifactId>commons-logging</artifactId>
-                <version>${commons-logging.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.servicemix.bundles</groupId>
-                <artifactId>org.apache.servicemix.bundles.ant</artifactId>
-                <version>1.8.4_1</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>commons-logging</groupId>
-                        <artifactId>commons-logging-api</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.bundles</groupId>
-                <artifactId>org.apache.servicemix.bundles.jasypt</artifactId>
-                <version>${jasypt.bundle.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.awaitility</groupId>
-                <artifactId>awaitility</artifactId>
-                <version>${awaitility.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.jboss.narayana.osgi</groupId>
-                <artifactId>narayana-osgi-jta</artifactId>
-                <version>${narayana.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.hibernate</groupId>
-                <artifactId>hibernate-validator</artifactId>
-                <version>${hibernate.validator.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>${junit.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-atinject_1.0_spec</artifactId>
-                <version>1.2</version>
-            </dependency>
-            <dependency>
-                <groupId>jakarta.xml.bind</groupId>
-                <artifactId>jakarta.xml.bind-api</artifactId>
-                <version>${jaxb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jaxb</groupId>
-                <artifactId>jaxb-runtime</artifactId>
-                <version>${jaxb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jaxb</groupId>
-                <artifactId>txw2</artifactId>
-                <version>${jaxb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.sun.istack</groupId>
-                <artifactId>istack-commons-runtime</artifactId>
-                <version>3.0.10</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
             <scope>test</scope>
+            <version>${junit.version}</version>
         </dependency>
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
             <scope>test</scope>
+            <version>${easymock.version}</version>
         </dependency>
-
-
-
     </dependencies>
 
     <build>
@@ -2110,7 +674,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
-                <version>${felix.plugin.version}</version>
+                <version>${felix.maven-bundle-plugin.version}</version>
                 <inherited>true</inherited>
                 <extensions>true</extensions>
                 <configuration>
diff --git a/profile/pom.xml b/profile/pom.xml
index d2e6711..f0fb8d0 100644
--- a/profile/pom.xml
+++ b/profile/pom.xml
@@ -38,6 +38,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/scheduler/pom.xml b/scheduler/pom.xml
index 5ce7a31..2096135 100644
--- a/scheduler/pom.xml
+++ b/scheduler/pom.xml
@@ -94,6 +94,18 @@
         </plugins>
     </build>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/scr/examples/README b/scr/examples/README
deleted file mode 100644
index 2adb4cf..0000000
--- a/scr/examples/README
+++ /dev/null
@@ -1,23 +0,0 @@
-Karaf SCR Examples
----------------------------
-
-features:addurl mvn:org.apache.karaf.scr/org.apache.karaf.scr.feature/2.2.6-SNAPSHOT/xml/features
-features:install scr-webconsole
-install -s mvn:org.apache.karaf.scr/org.apache.karaf.scr.examples/2.2.6-SNAPSHOT
-dev:watch mvn:org.apache.karaf.scr/org.apache.karaf.scr.examples/2.2.6-SNAPSHOT
-
-
-config:edit ManagedComponent
-config:propset salutation "Hi there"
-config:propset name "Riley"
-config:update
-
-config:delete ManagedComponent
-
-config:edit ManagedComponent
-config:update
-
-config:edit MetaTypeManagedComponent
-config:propset salutation Hello
-config:propset name Marla
-config:update
\ No newline at end of file
diff --git a/scr/examples/component-factory/pom.xml b/scr/examples/component-factory/pom.xml
deleted file mode 100644
index b6f85a2..0000000
--- a/scr/examples/component-factory/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.scr</groupId>
-        <artifactId>org.apache.karaf.scr.examples</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf.scr.examples</groupId>
-    <artifactId>org.apache.karaf.scr.examples.component.factories</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Karaf :: SCR :: Examples :: Component Factories</name>
-    <description>Building SCR Components using the BND Annotation Libraries</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <inherited>true</inherited>
-                <configuration>
-                    <instructions>
-                        <Export-Package>
-                            ${project.artifactId}
-                        </Export-Package>
-                        <Import-Package>
-                            !${project.artifactId},
-                            *
-                        </Import-Package>
-                        <Private-Package>
-                            ${project.artifactId}.component,
-                            ${project.artifactId}.impl
-                        </Private-Package>
-                        <Service-Component>*</Service-Component>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/GreeterServiceComponentFactory.java b/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/GreeterServiceComponentFactory.java
deleted file mode 100644
index 4b000e6..0000000
--- a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/GreeterServiceComponentFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.component.factories;
-
-/**
- * The SCR Service interface we are going to publish
- */
-public interface GreeterServiceComponentFactory {
-
-    void startGreeter();
-
-    void stopGreeter();
-
-}
diff --git a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/component/GreeterServiceFactoryManager.java b/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/component/GreeterServiceFactoryManager.java
deleted file mode 100644
index 9c8691b..0000000
--- a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/component/GreeterServiceFactoryManager.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.component.factories.component;
-
-import org.apache.karaf.scr.examples.component.factories.GreeterServiceComponentFactory;
-import org.osgi.service.component.ComponentFactory;
-import org.osgi.service.component.ComponentInstance;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Dictionary;
-import java.util.Properties;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-@Component(name = GreeterServiceFactoryManager.COMPONENT_NAME)
-public class GreeterServiceFactoryManager {
-
-    public static final String COMPONENT_NAME = "GreeterServiceFactoryManager";
-
-    public static final String COMPONENT_LABEL = "Greeter Service Factory Manager";
-
-    private static final Logger LOG = LoggerFactory.getLogger(GreeterServiceFactoryManager.class);
-
-    private ComponentFactory factory;
-    private ComponentInstance instance;
-    private GreeterServiceComponentFactory greeterService;
-    private ReadWriteLock lock = new ReentrantReadWriteLock();
-
-    /**
-     * Called when all of the SCR Components required dependencies have been satisfied.
-     */
-    @Activate
-    public void activate() {
-        LOG.info("Activating the {}", COMPONENT_LABEL);
-        try {
-            lock.readLock().lock();
-            if (factory != null) {
-                final Properties props = new Properties();
-                props.setProperty("salutation", "Hello");
-                props.setProperty("name", "User");
-                instance = factory.newInstance((Dictionary) props);
-                greeterService = (GreeterServiceComponentFactory) instance.getInstance();
-                greeterService.startGreeter();
-            }
-        } finally {
-            lock.readLock().unlock();
-        }
-    }
-
-    /**
-     * Callend when any of the SCR Components required dependencies become unsatisfied.
-     */
-    @Deactivate
-    public void deactivate() {
-        LOG.info("Deactivating the {}", COMPONENT_LABEL);
-        try {
-            lock.readLock().lock();
-            greeterService.stopGreeter();
-            instance.dispose();
-        } finally {
-            lock.readLock().unlock();
-        }
-    }
-
-    @Reference(target = "(component.factory=greeter.factory.provider)")
-    public void setFactory(final ComponentFactory factory) {
-        try {
-            lock.writeLock().lock();
-            this.factory = factory;
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    public void unsetFactory() {
-        try {
-            lock.writeLock().lock();
-            this.factory = null;
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-}
diff --git a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/impl/GreeterServiceComponentFactoryImpl.java b/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/impl/GreeterServiceComponentFactoryImpl.java
deleted file mode 100644
index fa4fbfc..0000000
--- a/scr/examples/component-factory/src/main/java/org/apache/karaf/scr/examples/component/factories/impl/GreeterServiceComponentFactoryImpl.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.component.factories.impl;
-
-import org.apache.karaf.scr.examples.component.factories.GreeterServiceComponentFactory;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-/**
- * An implementation of the GreeterServiceComponentFactory interface. Component
- * configuration includes setting the name attribute and setting the
- * configuration policy to required. The default is optional and when the
- * component attempts to activate it will throw a RuntimeException.
- */
-// the ConfigAdmin PID of our component
-@Component(name = GreeterServiceComponentFactoryImpl.COMPONENT_NAME,
-    // the Factory ID of the Component Factory
-    factory = "greeter.factory.provider")
-public class GreeterServiceComponentFactoryImpl implements GreeterServiceComponentFactory {
-
-    public static final String COMPONENT_NAME = "GreeterServiceComponentFactory";
-    public static final String COMPONENT_LABEL = "Greeter Service Component Factory";
-
-    private static final Logger LOG = LoggerFactory.getLogger(GreeterServiceComponentFactoryImpl.class);
-
-    private ExecutorService executor = Executors.newCachedThreadPool();
-    private Worker worker = new Worker();
-    private ReadWriteLock lock = new ReentrantReadWriteLock();
-
-    /**
-     * Called when all of the SCR Components required dependencies have been satisfied.
-     *
-     * @param properties The activation properties.
-     */
-    @Activate
-    public void activate(final Map<String, ?> properties) {
-        LOG.info("Activating the {}", COMPONENT_LABEL);
-
-        // just because the component has a policy of required doesn't help to ensure our
-        // properties are set.
-        // first check that salutation is set
-        if (properties.containsKey("salutation")) {
-            try {
-                lock.writeLock().lock();
-                worker.setSalutation((String) properties.get("salutation"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        } else {
-            throw new IllegalArgumentException("The salutation property may not be null or empty: " + properties.get("salutation"));
-        }
-
-        // now verify that name is set
-        if (properties.containsKey("name")) {
-            try {
-                lock.writeLock().lock();
-                worker.setName((String) properties.get("name"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        } else {
-            throw new IllegalArgumentException("The name property may not be null or empty: " + properties.get("name"));
-        }
-    }
-
-    /**
-     * Called when any of the SCR Components required dependencies become unsatisfied.
-     */
-    @Deactivate
-    public void deactivate() {
-        LOG.info("Deactivating the {}", COMPONENT_LABEL);
-    }
-
-    public void startGreeter() {
-        try {
-            lock.writeLock().lock();
-            executor.execute(worker);
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    public void stopGreeter() {
-        try {
-            lock.writeLock().lock();
-            if (!executor.isTerminated()) {
-                executor.shutdownNow();
-            }
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    /**
-     * Thread worker that continuously prints a message.
-     */
-    private class Worker implements Runnable {
-
-        private String name;
-        private String salutation;
-
-        public void run() {
-            boolean running = true;
-            int messageCount = 0;
-            while (running) {
-                try {
-                    LOG.info("Message {}: salutation {}", (++messageCount), name);
-                    Thread.sleep(1000);
-                } catch (InterruptedException e) {
-                    running = false;
-                    LOG.info("Thread shutting down");
-                }
-            }
-        }
-
-        public void setName(String userName) {
-            this.name = userName;
-        }
-
-        public void setSalutation(String salutation) {
-            this.salutation = salutation;
-        }
-    }
-
-}
diff --git a/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info b/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
deleted file mode 100644
index 4e86c5a..0000000
--- a/scr/examples/component-factory/src/main/resources/OSGI-INF/bundle.info
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-#
-h1. SYNOPSIS
-    ${project.name}
-
-    ${project.description}
-
-    Maven URL:
-        \u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
-
-h1. DESCRIPTION
-    An SCR example project for Component Factories.
\ No newline at end of file
diff --git a/scr/examples/managed-service/pom.xml b/scr/examples/managed-service/pom.xml
deleted file mode 100644
index 2d99eff..0000000
--- a/scr/examples/managed-service/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.scr</groupId>
-        <artifactId>org.apache.karaf.scr.examples</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf.scr.examples</groupId>
-    <artifactId>org.apache.karaf.scr.examples.managed.service</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Karaf :: SCR :: Examples :: Managed Services</name>
-    <description>Building SCR Components using the BND Annotation Libraries</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <inherited>true</inherited>
-                <configuration>
-                    <instructions>
-                        <Export-Package>
-                            ${project.artifactId}
-                        </Export-Package>
-                        <Import-Package>
-                            !${project.artifactId},
-                            *
-                        </Import-Package>
-                        <Private-Package>
-                            ${project.artifactId}.component,
-                            ${project.artifactId}.impl
-                        </Private-Package>
-                        <Service-Component>*</Service-Component>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/ManagedGreeterService.java b/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/ManagedGreeterService.java
deleted file mode 100644
index a10ece8..0000000
--- a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/ManagedGreeterService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.managed.service;
-
-/**
- * The SCR Service interface we are going to publish
- */
-public interface ManagedGreeterService {
-
-    void startGreeter();
-
-    void stopGreeter();
-
-}
diff --git a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/component/ManagedGreeterComponent.java b/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/component/ManagedGreeterComponent.java
deleted file mode 100644
index e9fb331..0000000
--- a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/component/ManagedGreeterComponent.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.managed.service.component;
-
-import org.apache.karaf.scr.examples.managed.service.ManagedGreeterService;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-@Component(name = ManagedGreeterComponent.COMPONENT_NAME)
-public class ManagedGreeterComponent {
-
-    public static final String COMPONENT_NAME = "ManagedGreeterComponent";
-
-    public static final String COMPONENT_LABEL = "Managed Greeter Component";
-
-    private static final Logger LOG = LoggerFactory.getLogger(ManagedGreeterComponent.class);
-
-    private ManagedGreeterService greeterService;
-    private ReadWriteLock lock = new ReentrantReadWriteLock();
-
-    /**
-     * Called when all of the SCR Components required dependencies have been satisfied
-     */
-    @Activate
-    public void activate() {
-        LOG.info("Activating the {}", COMPONENT_LABEL);
-        try {
-            lock.readLock().lock();
-            if (greeterService != null) {
-                greeterService.startGreeter();
-            }
-        } finally {
-            lock.readLock().unlock();
-        }
-    }
-
-    /**
-     * Called when any of the SCR Components required dependencies become unsatisfied.
-     */
-    @Deactivate
-    public void deactivate() {
-        LOG.info("Deactivating the {}", COMPONENT_LABEL);
-        try {
-            lock.readLock().lock();
-            if (greeterService != null) {
-                greeterService.stopGreeter();
-            }
-        } finally {
-            lock.readLock().unlock();
-        }
-    }
-
-    @Reference
-    public void setGreeterService(final ManagedGreeterService greeterService) {
-        try {
-            lock.writeLock().lock();
-            this.greeterService = greeterService;
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    public void unsetGreeterService() {
-        try {
-            lock.writeLock().lock();
-            this.greeterService = null;
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-}
diff --git a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/impl/ManagedGreeterServiceImpl.java b/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/impl/ManagedGreeterServiceImpl.java
deleted file mode 100644
index 6c17d13..0000000
--- a/scr/examples/managed-service/src/main/java/org/apache/karaf/scr/examples/managed/service/impl/ManagedGreeterServiceImpl.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.managed.service.impl;
-
-import org.apache.karaf.scr.examples.managed.service.ManagedGreeterService;
-import org.osgi.service.component.annotations.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-/**
- * An implementation of the ManagedGreeterService interface. Component configuration includes setting
- * the name attribute and setting the configuration policy to required. The default is optional and when the
- * component attempts to activate it will throw a RuntimeException.
- */
-@Component(name = ManagedGreeterServiceImpl.COMPONENT_NAME, configurationPolicy = ConfigurationPolicy.REQUIRE)
-public class ManagedGreeterServiceImpl implements ManagedGreeterService {
-
-    public static final String COMPONENT_NAME = "ManagedGreeterService";
-    public static final String COMPONENT_LABEL = "Managed Greeter Service";
-
-    private static final Logger LOG = LoggerFactory.getLogger(ManagedGreeterServiceImpl.class);
-
-    private ExecutorService executor = Executors.newCachedThreadPool();
-    private Worker worker = new Worker();
-    private ReadWriteLock lock = new ReentrantReadWriteLock();
-
-    /**
-     * Called when all of the SCR Components required dependencies have been satisfied.
-     *
-     * @param properties The activation properties.
-     */
-    @Activate
-    public void activate(final Map<String, ?> properties) {
-        LOG.info("Activating the {}", COMPONENT_LABEL);
-
-        // just because our component has a policy of required doesn't help to ensure our properties are set
-        // first check that salutation is set
-        if (properties.containsKey("salutation")) {
-            try {
-                lock.writeLock().lock();
-                worker.setSalutation((String) properties.get("salutation"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        } else {
-            throw new IllegalArgumentException("The salutation property may not be null or empty: " + properties.get("salutation"));
-        }
-
-        // now verify that name is set
-        if (properties.containsKey("name")) {
-            try {
-                lock.writeLock().lock();
-                worker.setName((String) properties.get("name"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        } else {
-            throw new IllegalArgumentException("The name property may not be null or empty: " + properties.get("name"));
-        }
-    }
-
-    /**
-     * Called when any of the SCR Components required dependencies become unsatisfied.
-     */
-    @Deactivate
-    public void deactivate() {
-        LOG.info("Deactivating the {}", COMPONENT_LABEL);
-    }
-
-    /**
-     * Called when the configuration associated with this component has been updated.
-     *
-     * @param properties The updated configuration.
-     */
-    @Modified
-    public void modified(final Map<String, ?> properties) {
-        LOG.info("Modifying the {}", COMPONENT_LABEL);
-
-        // this time we really only need to make sure if it changed it isn't empty
-        if (properties.containsKey("salutation") && !properties.get("salutation").equals("")) {
-            try {
-                lock.writeLock().lock();
-                worker.setSalutation((String) properties.get("salutation"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        }
-
-        // same for name
-        if (properties.containsKey("name") && !properties.get("name").equals("")) {
-            try {
-                lock.writeLock().lock();
-                worker.setName((String) properties.get("name"));
-            } finally {
-                lock.writeLock().unlock();
-            }
-        }
-    }
-
-    public void startGreeter() {
-        try {
-            lock.writeLock().lock();
-            executor.execute(worker);
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    public void stopGreeter() {
-        try {
-            lock.writeLock().lock();
-            if (!executor.isTerminated()) {
-                executor.shutdownNow();
-            }
-        } finally {
-            lock.writeLock().unlock();
-        }
-    }
-
-    /**
-     * Thread worker that continuously prints a message.
-     */
-    private class Worker implements Runnable {
-
-        private String name;
-        private String salutation;
-
-        public void run() {
-            boolean running = true;
-            int messageCount = 0;
-            while (running) {
-                try {
-                    LOG.info("Message {}: {} {}", messageCount, salutation, name);
-                    Thread.sleep(1000);
-                } catch (InterruptedException e) {
-                    running = false;
-                    LOG.info("Thread shutting down");
-                }
-            }
-        }
-
-        public void setName(String name) {
-            this.name = name;
-        }
-
-        public void setSalutation(String salutation) {
-            this.salutation = salutation;
-        }
-    }
-
-}
diff --git a/scr/examples/managed-service/src/main/resources/OSGI-INF/bundle.info b/scr/examples/managed-service/src/main/resources/OSGI-INF/bundle.info
deleted file mode 100644
index eae4f9f..0000000
--- a/scr/examples/managed-service/src/main/resources/OSGI-INF/bundle.info
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-#
-h1. SYNOPSIS
-    ${project.name}
-
-    ${project.description}
-
-    Maven URL:
-        \u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
-
-h1. DESCRIPTION
-    An SCR example project for Managed Services.
\ No newline at end of file
diff --git a/scr/examples/pom.xml b/scr/examples/pom.xml
deleted file mode 100644
index 8ef30d7..0000000
--- a/scr/examples/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.scr</groupId>
-        <artifactId>scr</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>org.apache.karaf.scr.examples</artifactId>
-    <packaging>pom</packaging>
-    <name>Apache Karaf :: SCR :: Examples</name>
-
-    <modules>
-        <module>service</module>
-        <module>managed-service</module>
-        <module>component-factory</module>
-    </modules>
-
-</project>
diff --git a/scr/examples/service/pom.xml b/scr/examples/service/pom.xml
deleted file mode 100644
index 26a05d1..0000000
--- a/scr/examples/service/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.scr</groupId>
-        <artifactId>org.apache.karaf.scr.examples</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf.scr.examples</groupId>
-    <artifactId>org.apache.karaf.scr.examples.service</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Karaf :: SCR :: Examples :: Basic Service</name>
-    <description>Building SCR Components using the BND Annotation Libraries</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <inherited>true</inherited>
-                <configuration>
-                    <instructions>
-                        <Export-Package>
-                            ${project.artifactId}
-                        </Export-Package>
-                        <Import-Package>
-                            !${project.artifactId},
-                            *
-                        </Import-Package>
-                        <Private-Package>
-                            ${project.artifactId}.component,
-                            ${project.artifactId}.impl
-                        </Private-Package>
-                        <Service-Component>*</Service-Component>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/GreeterService.java b/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/GreeterService.java
deleted file mode 100644
index 0da2ba5..0000000
--- a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/GreeterService.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.service;
-
-/**
- * The SCR Service interface we are going to publish
- */
-public interface GreeterService {
-
-    void printGreetings();
-
-}
diff --git a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/component/GreeterComponent.java b/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/component/GreeterComponent.java
deleted file mode 100644
index 0d65fc0..0000000
--- a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/component/GreeterComponent.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.service.component;
-
-import org.apache.karaf.scr.examples.service.GreeterService;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Component(name = GreeterComponent.COMPONENT_NAME)
-public class GreeterComponent {
-
-    public static final String COMPONENT_NAME = "GreeterComponent";
-    public static final String COMPONENT_LABEL = "Greeter Service Component";
-
-    private static final Logger LOG = LoggerFactory.getLogger(GreeterComponent.class);
-
-    private GreeterService greeterService;
-
-    /**
-     * Called when all of the SCR Components required dependencies have been satisfied.
-     */
-    @Activate
-    public void activate() {
-        LOG.info("Activating the {}", COMPONENT_LABEL);
-        greeterService.printGreetings();
-    }
-
-    /**
-     * Called when any of the SCR Components required dependencies become unsatisfied.
-     */
-    @Deactivate
-    public void deactivate() {
-        LOG.info("Deactivating the {}", COMPONENT_LABEL);
-    }
-
-    @Reference
-    public void setGreeterService(final GreeterService greeterService) {
-        this.greeterService = greeterService;
-    }
-
-    public void unsetGreeterService(final GreeterService greeterService) {
-        this.greeterService = null;
-    }
-
-}
diff --git a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/impl/GreeterServiceImpl.java b/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/impl/GreeterServiceImpl.java
deleted file mode 100644
index 2953f9a..0000000
--- a/scr/examples/service/src/main/java/org/apache/karaf/scr/examples/service/impl/GreeterServiceImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.scr.examples.service.impl;
-
-import org.apache.karaf.scr.examples.service.GreeterService;
-import org.osgi.service.component.annotations.Component;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * <p>
- *     The service implementation for our {@link GreeterService}
- * </p>
- * <p>
- *     With the {@link Component} annotation, any declared interface on this class will automatically be
- *     exported as a service. The DS annotations are build time only though and do not inherit.
- * </p>
- */
-@Component
-public class GreeterServiceImpl implements GreeterService {
-
-    private static final Logger LOG = LoggerFactory.getLogger(GreeterServiceImpl.class);
-
-    private String name = System.getProperty("user.name", "User name");
-
-    private String salutation = "Hello";
-
-    public void printGreetings() {
-        LOG.info("{} {}", salutation, name);
-    }
-
-}
diff --git a/scr/examples/service/src/main/resources/OSGI-INF/bundle.info b/scr/examples/service/src/main/resources/OSGI-INF/bundle.info
deleted file mode 100644
index 8b9e24c..0000000
--- a/scr/examples/service/src/main/resources/OSGI-INF/bundle.info
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-#
-h1. SYNOPSIS
-    ${project.name}
-
-    ${project.description}
-
-    Maven URL:
-        \u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
-
-h1. DESCRIPTION
-    An SCR example project for basic Services and Components.
\ No newline at end of file
diff --git a/scr/management/pom.xml b/scr/management/pom.xml
index ae4dec4..2eaf0d7 100644
--- a/scr/management/pom.xml
+++ b/scr/management/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/scr/pom.xml b/scr/pom.xml
index d9c81ef..cb3846c 100644
--- a/scr/pom.xml
+++ b/scr/pom.xml
@@ -36,7 +36,6 @@
     <modules>
         <module>management</module>
         <module>state</module>
-        <module>examples</module>
     </modules>
 
 </project>
diff --git a/scr/state/pom.xml b/scr/state/pom.xml
index cf4348d..ca066c2 100644
--- a/scr/state/pom.xml
+++ b/scr/state/pom.xml
@@ -38,8 +38,19 @@
         <karaf.service.ranking>1</karaf.service.ranking>
     </properties>
 
-    <dependencies>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
+    <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.core</artifactId>
diff --git a/service/core/pom.xml b/service/core/pom.xml
index adbbae7..55efffb 100644
--- a/service/core/pom.xml
+++ b/service/core/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources/</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/service/guard/pom.xml b/service/guard/pom.xml
index fc2e26e..ec85d5d 100644
--- a/service/guard/pom.xml
+++ b/service/guard/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
diff --git a/services/coordinator/pom.xml b/services/coordinator/pom.xml
index 956db94..874412e 100644
--- a/services/coordinator/pom.xml
+++ b/services/coordinator/pom.xml
@@ -34,6 +34,18 @@
     <name>Apache Karaf :: OSGi Services :: Coordinator</name>
     <description>Coordinator Service</description>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/services/eventadmin/pom.xml b/services/eventadmin/pom.xml
index 84f1f01..8a21f23 100644
--- a/services/eventadmin/pom.xml
+++ b/services/eventadmin/pom.xml
@@ -93,6 +93,18 @@
         </plugins>
     </build>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/services/interceptor/api/pom.xml b/services/interceptor/api/pom.xml
index e8e6dda..dcc24d5 100644
--- a/services/interceptor/api/pom.xml
+++ b/services/interceptor/api/pom.xml
@@ -33,6 +33,18 @@
     <name>Apache Karaf :: Services :: Interceptor :: API</name>
     <description>Interceptor API.</description>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/services/interceptor/impl/pom.xml b/services/interceptor/impl/pom.xml
index f5a6bf8..adf2dfa 100644
--- a/services/interceptor/impl/pom.xml
+++ b/services/interceptor/impl/pom.xml
@@ -34,6 +34,18 @@
     <name>Apache Karaf :: Services :: Interceptor :: Implementation</name>
     <description>Interceptor implementation.</description>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
diff --git a/services/staticcm/pom.xml b/services/staticcm/pom.xml
index 4dfb521..423b87d 100644
--- a/services/staticcm/pom.xml
+++ b/services/staticcm/pom.xml
@@ -75,6 +75,18 @@
         </plugins>
     </build>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/shell/commands/pom.xml b/shell/commands/pom.xml
index 866377c..94ae879 100644
--- a/shell/commands/pom.xml
+++ b/shell/commands/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
diff --git a/shell/console/pom.xml b/shell/console/pom.xml
index af06bba..620d290 100644
--- a/shell/console/pom.xml
+++ b/shell/console/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/shell/core/pom.xml b/shell/core/pom.xml
index a494235..f098a35 100644
--- a/shell/core/pom.xml
+++ b/shell/core/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/shell/ssh/pom.xml b/shell/ssh/pom.xml
index 81f9184..7c73524 100644
--- a/shell/ssh/pom.xml
+++ b/shell/ssh/pom.xml
@@ -37,14 +37,24 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.core</artifactId>
         </dependency>
 
-
-
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.gogo.runtime</artifactId>
diff --git a/shell/table/pom.xml b/shell/table/pom.xml
index 7f2a634..f683f10 100644
--- a/shell/table/pom.xml
+++ b/shell/table/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
diff --git a/specs/activator/pom.xml b/specs/activator/pom.xml
index 187f994..12997fe 100644
--- a/specs/activator/pom.xml
+++ b/specs/activator/pom.xml
@@ -29,6 +29,19 @@
 
     <artifactId>org.apache.karaf.specs.activator</artifactId>
     <name>Apache Karaf :: Specs :: Activator</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.specs</groupId>
@@ -40,6 +53,7 @@
             <scope>provided</scope>
         </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
diff --git a/specs/java.xml.ws/pom.xml b/specs/java.xml.ws/pom.xml
index 3659849..920b5a5 100644
--- a/specs/java.xml.ws/pom.xml
+++ b/specs/java.xml.ws/pom.xml
@@ -29,6 +29,19 @@
 
     <artifactId>org.apache.karaf.specs.java.xml.ws</artifactId>
     <name>Apache Karaf :: Specs :: Java Xml WS</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
diff --git a/specs/java.xml/pom.xml b/specs/java.xml/pom.xml
index 41ea5cb..74f9f2c 100644
--- a/specs/java.xml/pom.xml
+++ b/specs/java.xml/pom.xml
@@ -30,6 +30,19 @@
     <artifactId>org.apache.karaf.specs.java.xml</artifactId>
     <packaging>jar</packaging>
     <name>Apache Karaf :: Specs :: Java Xml</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
@@ -46,6 +59,7 @@
             <artifactId>org.apache.karaf.specs.locator</artifactId>
         </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
diff --git a/specs/locator/pom.xml b/specs/locator/pom.xml
index 53c1ab4..f08b513 100644
--- a/specs/locator/pom.xml
+++ b/specs/locator/pom.xml
@@ -29,6 +29,19 @@
 
     <artifactId>org.apache.karaf.specs.locator</artifactId>
     <name>Apache Karaf :: Specs :: Locator</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -36,4 +49,5 @@
             <scope>provided</scope>
         </dependency>
     </dependencies>
+
 </project>
diff --git a/subsystem/pom.xml b/subsystem/pom.xml
index 06f7477..a15314c 100644
--- a/subsystem/pom.xml
+++ b/subsystem/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/system/pom.xml b/system/pom.xml
index 691f94e..e7910dc 100644
--- a/system/pom.xml
+++ b/system/pom.xml
@@ -40,6 +40,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/tooling/karaf-maven-plugin/pom.xml b/tooling/karaf-maven-plugin/pom.xml
index bbc3865..71db506 100644
--- a/tooling/karaf-maven-plugin/pom.xml
+++ b/tooling/karaf-maven-plugin/pom.xml
@@ -42,6 +42,18 @@
         <jacoco-class-missed-count-maximum>1</jacoco-class-missed-count-maximum>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>javax.annotation</groupId>
diff --git a/tooling/karaf-services-maven-plugin/pom.xml b/tooling/karaf-services-maven-plugin/pom.xml
index 968771c..fa5cbe5 100644
--- a/tooling/karaf-services-maven-plugin/pom.xml
+++ b/tooling/karaf-services-maven-plugin/pom.xml
@@ -36,6 +36,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
 
         <dependency>
diff --git a/tooling/utils/pom.xml b/tooling/utils/pom.xml
index d91c442..651380b 100644
--- a/tooling/utils/pom.xml
+++ b/tooling/utils/pom.xml
@@ -31,6 +31,19 @@
     <packaging>bundle</packaging>
     <name>Apache Karaf :: Tooling :: Utils</name>
     <description>Karaf tooling resuable elsewhere (such as the Karaf pax-exam container).</description>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>commons-io</groupId>
@@ -43,6 +56,7 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
diff --git a/util/pom.xml b/util/pom.xml
index 3535dc02..f47baea 100644
--- a/util/pom.xml
+++ b/util/pom.xml
@@ -33,6 +33,18 @@
     <name>Apache Karaf :: Util</name>
     <description>Karaf Util contains utility classes used in different Karaf modules.</description>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/web/pom.xml b/web/pom.xml
index 6f04643..a0de2b9 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -40,6 +40,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/webconsole/console/pom.xml b/webconsole/console/pom.xml
index 7c96c83..dd6d906 100644
--- a/webconsole/console/pom.xml
+++ b/webconsole/console/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${project.basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
 			<groupId>${servlet.spec.groupId}</groupId>
diff --git a/webconsole/features/pom.xml b/webconsole/features/pom.xml
index 64db949..98e06f5 100644
--- a/webconsole/features/pom.xml
+++ b/webconsole/features/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/webconsole/gogo/pom.xml b/webconsole/gogo/pom.xml
index 55722b7..fd28274 100644
--- a/webconsole/gogo/pom.xml
+++ b/webconsole/gogo/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/webconsole/http/pom.xml b/webconsole/http/pom.xml
index b74db80..9a51855 100644
--- a/webconsole/http/pom.xml
+++ b/webconsole/http/pom.xml
@@ -37,6 +37,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/webconsole/instance/pom.xml b/webconsole/instance/pom.xml
index 92dd227..c19ff35 100644
--- a/webconsole/instance/pom.xml
+++ b/webconsole/instance/pom.xml
@@ -32,6 +32,18 @@
 		<appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
 	</properties>
 
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.apache.karaf</groupId>
+				<artifactId>karaf-bom</artifactId>
+				<version>${project.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
 	<dependencies>
 		<dependency>
 			<groupId>org.slf4j</groupId>
diff --git a/wrapper/pom.xml b/wrapper/pom.xml
index 0bd9c69..8ae8b43 100644
--- a/wrapper/pom.xml
+++ b/wrapper/pom.xml
@@ -41,6 +41,18 @@
         <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>