diff --git a/ipojo/annotations/pom.xml b/ipojo/annotations/pom.xml
index e2b5446..989dd2e 100644
--- a/ipojo/annotations/pom.xml
+++ b/ipojo/annotations/pom.xml
@@ -16,53 +16,55 @@
  specific language governing permissions and limitations
  under the License.
 -->
-<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">
-  <parent>
-    <artifactId>iPOJO</artifactId>
-    <groupId>org.apache.felix</groupId>
-    <version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-  <packaging>bundle</packaging>
-  <name>Apache Felix iPOJO Annotations</name>
-  <build>
-  <plugins>
-  <plugin>
-		<groupId>org.apache.maven.plugins</groupId>
-		<artifactId>maven-compiler-plugin</artifactId>
-		<configuration>
-		<source>1.5</source>
-		<target>1.5</target>
-		</configuration>
-	</plugin>
-  	<plugin>
+<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">
+  <parent>
+		<groupId>org.apache.felix</groupId>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+  <groupId>org.apache.felix</groupId>
+  <version>0.7.6-SNAPSHOT</version>
+  <packaging>bundle</packaging>
+  <name>Apache Felix iPOJO Annotations</name>
+  <build>
+  <plugins>
+  <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-compiler-plugin</artifactId>
+		<configuration>
+		<source>1.5</source>
+		<target>1.5</target>
+		</configuration>
+	</plugin>
+  	<plugin>
     	<groupId>org.apache.felix</groupId>
-    	<artifactId>maven-bundle-plugin</artifactId>
+    	<artifactId>maven-bundle-plugin</artifactId>
         <version>1.4.0</version>
-    	<extensions>true</extensions>
-    	<configuration>
-        	<instructions>          
-          		<Bundle-Name>iPOJO Annotation</Bundle-Name>
-		        <Bundle-Vendor>Clement ESCOFFIER</Bundle-Vendor>
-        		<Bundle-Description> iPOJO Annotations </Bundle-Description>
-          		<Export-Package>org.apache.felix.ipojo.annotations</Export-Package>
-        	</instructions>
-    	</configuration>
-  	</plugin>
-  </plugins>
-  </build>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <configuration>
-          <configLocation>http://people.apache.org/~clement/styles/checkstyle_ipojo.xml</configLocation>
-        </configuration>
-      </plugin>
-    </plugins>
-  </reporting>
+    	<extensions>true</extensions>
+    	<configuration>
+        	<instructions>          
+          		<Bundle-Name>iPOJO Annotation</Bundle-Name>
+		        <Bundle-Vendor>Clement ESCOFFIER</Bundle-Vendor>
+        		<Bundle-Description> iPOJO Annotations </Bundle-Description>
+          		<Export-Package>org.apache.felix.ipojo.annotations</Export-Package>
+        	</instructions>
+    	</configuration>
+  	</plugin>
+  </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <configLocation>http://people.apache.org/~clement/styles/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
 </project>
\ No newline at end of file
diff --git a/ipojo/ant/pom.xml b/ipojo/ant/pom.xml
index aae1663..420ba05 100644
--- a/ipojo/ant/pom.xml
+++ b/ipojo/ant/pom.xml
@@ -20,13 +20,15 @@
 	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">
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>org.apache.felix.ipojo.ant</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Ant Task</name>
 	<dependencies>
diff --git a/ipojo/arch/pom.xml b/ipojo/arch/pom.xml
index bd4b56b..740d69f 100644
--- a/ipojo/arch/pom.xml
+++ b/ipojo/arch/pom.xml
@@ -18,15 +18,17 @@
 -->
 <project>
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Arch Command</name>
 	<artifactId>org.apache.felix.ipojo.arch</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/composite/pom.xml b/ipojo/composite/pom.xml
index 222dc6d..528bab5 100644
--- a/ipojo/composite/pom.xml
+++ b/ipojo/composite/pom.xml
@@ -18,15 +18,17 @@
 -->
 <project>
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Composite</name>
 	<artifactId>org.apache.felix.ipojo.composite</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/core/pom.xml b/ipojo/core/pom.xml
index c7ef593..7506e82 100644
--- a/ipojo/core/pom.xml
+++ b/ipojo/core/pom.xml
@@ -18,15 +18,17 @@
 -->
 <project>
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO</name>
 	<artifactId>org.apache.felix.ipojo</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/event.admin.handler/pom.xml b/ipojo/event.admin.handler/pom.xml
index 840cf9f..bcce94e 100644
--- a/ipojo/event.admin.handler/pom.xml
+++ b/ipojo/event.admin.handler/pom.xml
@@ -17,16 +17,12 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<artifactId>iPOJO</artifactId>
-		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Event Admin Handler</name>
 	<artifactId>org.apache.felix.ipojo.handler.event</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 
 	<dependencies>
 		<dependency>
diff --git a/ipojo/examples/junit4osgi/felix-command/pom.xml b/ipojo/examples/junit4osgi/felix-command/pom.xml
index f810d59..ab8d0ba 100644
--- a/ipojo/examples/junit4osgi/felix-command/pom.xml
+++ b/ipojo/examples/junit4osgi/felix-command/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>Junit4Osgi</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Junit4Osgi-Felix-Command</name>
 	<artifactId>
 		org.apache.felix.ipojo.junit4osgi.felix-command
 	</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/examples/junit4osgi/immediate-launcher/pom.xml b/ipojo/examples/junit4osgi/immediate-launcher/pom.xml
index 18cfb31..8d2514d 100644
--- a/ipojo/examples/junit4osgi/immediate-launcher/pom.xml
+++ b/ipojo/examples/junit4osgi/immediate-launcher/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>Junit4Osgi</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Junit4Osgi-Immediate-Runner</name>
 	<artifactId>
 		org.apache.felix.ipojo.junit4osgi.immediate-runner
 	</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/examples/junit4osgi/junit4osgi/pom.xml b/ipojo/examples/junit4osgi/junit4osgi/pom.xml
index e4ffbf4..8d0c6db 100644
--- a/ipojo/examples/junit4osgi/junit4osgi/pom.xml
+++ b/ipojo/examples/junit4osgi/junit4osgi/pom.xml
@@ -17,16 +17,12 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>Junit4Osgi</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Junit4Osgi</name>
 	<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/examples/junit4osgi/metadata.xml b/ipojo/examples/junit4osgi/metadata.xml
deleted file mode 100644
index 29be5f3..0000000
--- a/ipojo/examples/junit4osgi/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<iPOJO xmlns:extender="org.apache.felix.ipojo.extender">
-	<Component className="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender">
-		<extender:extender extension="Test-Suite" onArrival="onBundleArrival" onDeparture="onBundleDeparture"/>
-		<callback transition="invalidate" method="stopping"/>
-		<provides/>
-	</Component>
-	<instance component="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender"/>
-	
-	<component className="org.apache.felix.ipojo.junit4osgi.command.JunitCommand" factory="false">
-		<requires field="runner"/>
-		<provides/>
-	</component>
-	<instance component="org.apache.felix.ipojo.junit4osgi.command.JunitCommand"/>
-</iPOJO>
\ No newline at end of file
diff --git a/ipojo/examples/junit4osgi/pom.xml b/ipojo/examples/junit4osgi/pom.xml
index 4e5a05e..dfb8be8 100644
--- a/ipojo/examples/junit4osgi/pom.xml
+++ b/ipojo/examples/junit4osgi/pom.xml
@@ -1,13 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
 <project>
-  <parent>
-    <groupId>ipojo.examples</groupId>
-  	<artifactId>ipojo.examples</artifactId>
-  	<version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>Junit4Osgi</artifactId>
+  <groupId>ipojo.examples</groupId>
+  <version>0.7.6-SNAPSHOT</version>
   <name>Apache Felix iPOJO Junit4OSGi</name>
   <packaging>pom</packaging>
 
diff --git a/ipojo/examples/junit4osgi/swing-runner/pom.xml b/ipojo/examples/junit4osgi/swing-runner/pom.xml
index da9bae5..d89c845 100644
--- a/ipojo/examples/junit4osgi/swing-runner/pom.xml
+++ b/ipojo/examples/junit4osgi/swing-runner/pom.xml
@@ -17,16 +17,12 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>Junit4Osgi</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Junit4Osgi-Swing-GUI</name>
 	<artifactId>org.apache.felix.ipojo.junit4osgi.swing-gui</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>${pom.groupId}</groupId>
diff --git a/ipojo/examples/pom.xml b/ipojo/examples/pom.xml
index 0aef7eb..adc64d4 100644
--- a/ipojo/examples/pom.xml
+++ b/ipojo/examples/pom.xml
@@ -1,14 +1,26 @@
-<project>
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>iPOJO</artifactId>
-    <version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
+<!--
+ 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.
+-->
+<project>
   <modelVersion>4.0.0</modelVersion>
   <groupId>ipojo.examples</groupId>
   <artifactId>ipojo.examples</artifactId>
+  <version>0.7.6-SNAPSHOT</version>
   <name>Apache Felix iPOJO Examples</name>
   <packaging>pom</packaging>
   <modules>
diff --git a/ipojo/examples/property-handler/PropertyHandler/pom.xml b/ipojo/examples/property-handler/PropertyHandler/pom.xml
index d806ab9..b7dc16b 100644
--- a/ipojo/examples/property-handler/PropertyHandler/pom.xml
+++ b/ipojo/examples/property-handler/PropertyHandler/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>ipojo.examples.property.handler</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Property Handler</name>
 	<artifactId>
 		org.apache.felix.ipojo.example.handler.property
 	</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml b/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
index dc28218..d37caef 100644
--- a/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
+++ b/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.examples</groupId>
-		<artifactId>ipojo.examples.property.handler</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Property Handler Test</name>
 	<artifactId>
 		org.apache.felix.ipojo.example.handler.property.test
 	</artifactId>
+	<groupId>ipojo.examples</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/examples/property-handler/pom.xml b/ipojo/examples/property-handler/pom.xml
index 2b9f2df..764c487 100644
--- a/ipojo/examples/property-handler/pom.xml
+++ b/ipojo/examples/property-handler/pom.xml
@@ -1,13 +1,26 @@
-<project>
- <parent>
-    <groupId>ipojo.examples</groupId>
-  	<artifactId>ipojo.examples</artifactId>
-  	<version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
+<!--
+ 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.
+-->
+<project>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>ipojo.examples.property.handler</artifactId>
+  <groupId>ipojo.examples</groupId>
+  <version>0.7.6-SNAPSHOT</version>
   <name>Apache Felix iPOJO Property Handler</name>
   <packaging>pom</packaging>
 
diff --git a/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml b/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
index eee6444..78b5fe3 100644
--- a/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
@@ -19,15 +19,21 @@
     </dependency>
   </dependencies>
   
-  <pluginRepositories>
-    <pluginRepository>
-      <id>apache.snapshots</id>
-      <name>snapshot plugins</name>
-      <url>
-        http://people.apache.org/repo/m2-snapshot-repository
-      </url>
-    </pluginRepository>
-  </pluginRepositories>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>apache.snapshots</id>
+			<name>snapshot plugins</name>
+			<url>
+				http://people.apache.org/repo/m2-snapshot-repository
+			</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
   
   <build>
     <plugins>
@@ -53,6 +59,7 @@
       <plugin>
 	      <groupId>org.apache.felix</groupId>
 	      <artifactId>maven-ipojo-plugin</artifactId>
+		  <version>0.7.6-SNAPSHOT</version>
 		  <executions>
           	<execution>
             	<goals>
diff --git a/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml b/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
index 2281a57..c3fa987 100644
--- a/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
@@ -31,6 +31,12 @@
 			<url>
 				http://people.apache.org/repo/m2-snapshot-repository
 			</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
 		</pluginRepository>
 	</pluginRepositories>
 
@@ -75,6 +81,7 @@
 			<plugin>
 				<groupId>org.apache.felix</groupId>
 				<artifactId>maven-ipojo-plugin</artifactId>
+				<version>0.7.6-SNAPSHOT</version>
 				<executions>
 					<execution>
 						<goals>
diff --git a/ipojo/examples/tutorial-maven/pom.xml b/ipojo/examples/tutorial-maven/pom.xml
index 99d12ac..8266daf 100644
--- a/ipojo/examples/tutorial-maven/pom.xml
+++ b/ipojo/examples/tutorial-maven/pom.xml
@@ -1,12 +1,26 @@
+<!--
+ 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.
+-->
 <project>
-  <parent>
-    <groupId>ipojo.examples</groupId>
-  	<artifactId>ipojo.examples</artifactId>
-  	<version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>ipojo.tutorial</artifactId>
+  <groupId>ipojo.examples</groupId>
+  <version>0.7.6-SNAPSHOT</version>
   <name>Apache Felix iPOJO Tutorial</name>
   <packaging>pom</packaging>
   <modules>
diff --git a/ipojo/extender.pattern.handler/pom.xml b/ipojo/extender.pattern.handler/pom.xml
index a89fbd0..5c7f91e 100644
--- a/ipojo/extender.pattern.handler/pom.xml
+++ b/ipojo/extender.pattern.handler/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<artifactId>iPOJO</artifactId>
-		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Extender Pattern Handler</name>
 	<artifactId>
 		org.apache.felix.ipojo.handler.extender.pattern
 	</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 
 	<dependencies>
 		<dependency>
diff --git a/ipojo/jmx.handler/pom.xml b/ipojo/jmx.handler/pom.xml
index f2da02d..429d609 100644
--- a/ipojo/jmx.handler/pom.xml
+++ b/ipojo/jmx.handler/pom.xml
@@ -17,15 +17,11 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<artifactId>iPOJO</artifactId>
-		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<artifactId>org.apache.felix.ipojo.handler.jmx</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<name>Apache Felix iPOJO JMX Handler</name>
 
 	<dependencies>
diff --git a/ipojo/manipulator/pom.xml b/ipojo/manipulator/pom.xml
index afa5a94..4d93b6c 100644
--- a/ipojo/manipulator/pom.xml
+++ b/ipojo/manipulator/pom.xml
@@ -20,14 +20,16 @@
 	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">
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<name>Apache Felix iPOJO Manipulator</name>
 
 	<dependencies>
diff --git a/ipojo/metadata/pom.xml b/ipojo/metadata/pom.xml
index 38bc6e7..3c7a2e7 100644
--- a/ipojo/metadata/pom.xml
+++ b/ipojo/metadata/pom.xml
@@ -18,13 +18,15 @@
 -->
 <project>
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>org.apache.felix.ipojo.metadata</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO Metadata</name>
 	<build>
diff --git a/ipojo/plugin/pom.xml b/ipojo/plugin/pom.xml
index 3f5c569..f1bf204 100644
--- a/ipojo/plugin/pom.xml
+++ b/ipojo/plugin/pom.xml
@@ -18,13 +18,16 @@
 -->
 <project>
 	<parent>
-		<artifactId>iPOJO</artifactId>
 		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
+		<artifactId>felix</artifactId>
+		<version>1.0.2</version>
+		<relativePath>../../pom/pom.xml</relativePath>
 	</parent>
+
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>maven-ipojo-plugin</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<name>Apache Felix iPOJO Maven Plugin</name>
 	<packaging>maven-plugin</packaging>
 	<dependencies>
diff --git a/ipojo/tests/pom.xml b/ipojo/tests/pom.xml
index f6c29e5..d0a91ca 100644
--- a/ipojo/tests/pom.xml
+++ b/ipojo/tests/pom.xml
@@ -1,14 +1,26 @@
-<project>
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>iPOJO</artifactId>
-    <version>0.7.6-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
+<!--
+ 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.
+-->
+<project>
   <modelVersion>4.0.0</modelVersion>
   <groupId>ipojo.tests</groupId>
   <artifactId>ipojo.tests</artifactId>
+  <version>0.7.6-SNAPSHOT</version>
   <name>Apache Felix iPOJO Tests</name>
   <packaging>pom</packaging>
   <profiles>
diff --git a/ipojo/tests/tests.composite/pom.xml b/ipojo/tests/tests.composite/pom.xml
index e016d37..3a2ffeb 100644
--- a/ipojo/tests/tests.composite/pom.xml
+++ b/ipojo/tests/tests.composite/pom.xml
@@ -17,17 +17,12 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.tests</groupId>
-		<artifactId>ipojo.tests</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
-
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>iPOJO Composite Test Suite</name>
 	<artifactId>tests.composite</artifactId>
+	<groupId>ipojo.tests</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/tests.core/pom.xml b/ipojo/tests/tests.core/pom.xml
index 8b95285..4795777 100644
--- a/ipojo/tests/tests.core/pom.xml
+++ b/ipojo/tests/tests.core/pom.xml
@@ -17,16 +17,12 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<groupId>ipojo.tests</groupId>
-		<artifactId>ipojo.tests</artifactId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>iPOJO Test Suite</name>
 	<artifactId>tests.core</artifactId>
+	<groupId>ipojo.tests</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/white.board.pattern.handler/pom.xml b/ipojo/white.board.pattern.handler/pom.xml
index ccbe8ac..611de57 100644
--- a/ipojo/white.board.pattern.handler/pom.xml
+++ b/ipojo/white.board.pattern.handler/pom.xml
@@ -17,18 +17,14 @@
 	under the License.
 -->
 <project>
-	<parent>
-		<artifactId>iPOJO</artifactId>
-		<groupId>org.apache.felix</groupId>
-		<version>0.7.6-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>Apache Felix iPOJO White Board Pattern Handler</name>
 	<artifactId>
 		org.apache.felix.ipojo.handler.white.board.pattern
 	</artifactId>
+	<groupId>org.apache.felix</groupId>
+	<version>0.7.6-SNAPSHOT</version>
 
 	<dependencies>
 		<dependency>
