diff --git a/doxia-book-maven-plugin/pom.xml b/doxia-book-maven-plugin/pom.xml
index 97d3439..8fb17af 100644
--- a/doxia-book-maven-plugin/pom.xml
+++ b/doxia-book-maven-plugin/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.doxia</groupId>
     <artifactId>doxia-tools</artifactId>
-    <version>2</version>
+    <version>4-SNAPSHOT</version>
     <relativePath>../doxia-tools/pom.xml</relativePath>
   </parent>
 
diff --git a/doxia-book-renderer/pom.xml b/doxia-book-renderer/pom.xml
index c5e460a..a445533 100644
--- a/doxia-book-renderer/pom.xml
+++ b/doxia-book-renderer/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.doxia</groupId>
     <artifactId>doxia-tools</artifactId>
-    <version>2</version>
+    <version>4-SNAPSHOT</version>
     <relativePath>../doxia-tools/pom.xml</relativePath>
   </parent>
 
@@ -53,6 +53,7 @@
 
   <properties>
     <doxiaVersion>1.3</doxiaVersion>
+    <checkstyle.violation.ignore>MethodName,NewlineAtEndOfFile,ParameterNumber</checkstyle.violation.ignore>
   </properties>
 
   <dependencies>
@@ -174,7 +175,7 @@
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
         <configuration>
-          <excludes>
+          <excludes combine.children="append">
             <exclude>src/test/resources/expected/doc-book/plexus-user-guide.xml</exclude>
             <exclude>src/test/resources/book-1/section-*.apt</exclude>
           </excludes>            
diff --git a/doxia-converter/pom.xml b/doxia-converter/pom.xml
index c21a810..711058e 100644
--- a/doxia-converter/pom.xml
+++ b/doxia-converter/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.doxia</groupId>
     <artifactId>doxia-tools</artifactId>
-    <version>2</version>
+    <version>4-SNAPSHOT</version>
     <relativePath>../doxia-tools/pom.xml</relativePath>
   </parent>
 
@@ -201,7 +201,7 @@
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
         <configuration>
-          <excludes>
+          <excludes combine.children="append">
             <exclude>src/test/resources/unit/*/test.*</exclude>
             <exclude>src/test/resources/book-1/section-*.apt</exclude>
           </excludes>            
diff --git a/doxia-converter/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java b/doxia-converter/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
index 758200e..5701282 100644
--- a/doxia-converter/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
+++ b/doxia-converter/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
@@ -19,8 +19,6 @@
  * under the License.
  */
 
-import java.io.IOException;
-
 import org.apache.maven.doxia.UnsupportedFormatException;
 import org.apache.maven.doxia.parser.Parser;
 import org.apache.maven.doxia.sink.SinkFactory;
@@ -87,7 +85,6 @@
      * @return an instance of <code>SinkFactory</code> depending on the given format.
      * @throws ComponentLookupException if could not find the SinkFactory for the given format.
      * @throws UnsupportedFormatException if the found sink is not instantiated.
-     * @throws IOException if any.
      * @throws IllegalArgumentException if any parameter is null
      */
     public static SinkFactory getSinkFactory( PlexusContainer plexus, String format, String[] supportedFormats )
diff --git a/doxia-integration-tools/pom.xml b/doxia-integration-tools/pom.xml
index 15d9757..a06aacb 100644
--- a/doxia-integration-tools/pom.xml
+++ b/doxia-integration-tools/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.doxia</groupId>
     <artifactId>doxia-tools</artifactId>
-    <version>3</version>
+    <version>4-SNAPSHOT</version>
     <relativePath>../doxia-tools/pom.xml</relativePath>
   </parent>
 
diff --git a/doxia-linkcheck/pom.xml b/doxia-linkcheck/pom.xml
index 89fce4c..ad25765 100644
--- a/doxia-linkcheck/pom.xml
+++ b/doxia-linkcheck/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven.doxia</groupId>
     <artifactId>doxia-tools</artifactId>
-    <version>2</version>
+    <version>4-SNAPSHOT</version>
     <relativePath>../doxia-tools/pom.xml</relativePath>
   </parent>
 
diff --git a/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/Anchors.java b/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/Anchors.java
index c29bc82..9bf3803 100644
--- a/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/Anchors.java
+++ b/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/Anchors.java
@@ -1,22 +1,24 @@
-/**
- *
- * 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.maven.doxia.linkcheck.validation;
 
+/*
+ * 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.
+ */
+
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -35,7 +37,8 @@
      */
     public static boolean matchesAnchor( String content, String anchor )
     {
-        if ( content != null && anchor.length() > 0 ) {
+        if ( content != null && anchor.length() > 0 )
+        {
             // can use name or id attributes and also can use single or double quotes with whitespace around the =
             String regex = "(?i)(name|id)(?-i)\\s*=\\s*('|\")" + escapeBrackets( anchor ) + "('|\")";
             Pattern pattern = Pattern.compile( regex );
diff --git a/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/OnlineHTTPLinkValidator.java b/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/OnlineHTTPLinkValidator.java
index c3bbb03..87f8a5b 100644
--- a/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/OnlineHTTPLinkValidator.java
+++ b/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/validation/OnlineHTTPLinkValidator.java
@@ -151,7 +151,8 @@
 
         // Some web servers don't allow the default user-agent sent by httpClient
         System.setProperty( HttpMethodParams.USER_AGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" );
-        this.cl.getParams().setParameter( HttpMethodParams.USER_AGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" );
+        this.cl.getParams().setParameter( HttpMethodParams.USER_AGENT,
+                                          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" );
 
         String link = lvi.getLink();
         String anchor = "";
diff --git a/doxia-tools/pom.xml b/doxia-tools/pom.xml
index 0b26deb..f886cb5 100644
--- a/doxia-tools/pom.xml
+++ b/doxia-tools/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven-parent</artifactId>
-    <version>24</version>
+    <version>27</version>
     <relativePath>../../../pom/maven/pom.xml</relativePath>
   </parent>
 
