diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/CDIThrowAwayClassloader.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/CDIThrowAwayClassloader.java
index cf96c29..8d65aff 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/CDIThrowAwayClassloader.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/CDIThrowAwayClassloader.java
@@ -36,7 +36,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          We use
  */
 
diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
index d1a6f04..87f4ca8 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
@@ -33,7 +33,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Reloading listener which triggers a container reload
  *          the reload can happen at the end of the extscript lifecycle
  *          when all beans have been tainted
diff --git a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
index a842bcd..934e0ff 100644
--- a/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
+++ b/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
@@ -33,11 +33,11 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          An extension for cdi which does the initial lifecycle
  *          trigger from CDI instead of JSF since CDI is enabled
  *          before JSF we have to do it that way
- *          <p/>
+ *          <p></p>
  *          Stage 1 of our startup cycle
  */
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/AnnotationScanListener.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/AnnotationScanListener.java
index f9891f1..cb6ca05 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/AnnotationScanListener.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/AnnotationScanListener.java
@@ -23,7 +23,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          We use a source code artifact observer here to register the
  *          meta data in the correct registry entries
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/Configuration.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/Configuration.java
index 12fcf99..05d080d 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/Configuration.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/Configuration.java
@@ -53,14 +53,14 @@
     /**  kk
      * the package whitelist used by our system
      * to determine which packages are under control.
-     * <p/>
+     * <p></p>
      * Note an empty whitelist means, all packages with sourcedirs attached to.
      */
     Set<String> _packageWhiteList = new ConcurrentSkipListSet<String>();
     /**
      * we keep track of separate resource dirs
      * for systems which can use resource loaders
-     * <p/>
+     * <p></p>
      * so that we can load various resources as well
      * from separate source directories instead
      */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ReloadingStrategy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ReloadingStrategy.java
index fa4566e..ef05174 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ReloadingStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/ReloadingStrategy.java
@@ -20,7 +20,7 @@
 
 
 /**
- * <p/>
+ * <p></p>
  * Generic strategy for reloading
  * this should encapsulate various
  * reloading strategies
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
index 5c940b6..2a25221 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/api/WeavingContext.java
@@ -56,7 +56,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Central weaving context
  */
 
@@ -393,7 +393,7 @@
      * we create a proxy to an existing object
      * which does reloading of the internal class
      * on method level
-     * <p/>
+     * <p></p>
      * this works only on classes which implement contractual interfaces
      * it cannot work on things like the navigation handler
      * which rely on base classes
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassLoaderUtils.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassLoaderUtils.java
index e7d0848..2131052 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassLoaderUtils.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassLoaderUtils.java
@@ -101,7 +101,7 @@
      * classpath. This method, however, returns the classpath as a String, where each
      * classpath entry is separated by a ';', i.e. it returns the classpath in a format
      * that Java tools usually expect it to be.</p>
-     * <p/>
+     * <p></p>
      * it also adds the additional classpaths issued by our configuration to the list
      *
      * @param classLoader the class loader which you want to resolve the class path for
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassUtils.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassUtils.java
index 96ce369..d560e1f 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassUtils.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ClassUtils.java
@@ -33,7 +33,7 @@
  * (naming and reflection) of java classes
  *
  * @author werpu
- *         <p/>
+ *         <p></p>
  */
 public class ClassUtils
 {
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileStrategy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileStrategy.java
index 324463a..3dc1f7e 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileStrategy.java
@@ -28,7 +28,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Java file strategy pattern to filter out all java files which are possible sources
  *          so that we can recompile them
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileUtils.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileUtils.java
index 675f57a..403c456 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileUtils.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/FileUtils.java
@@ -43,7 +43,7 @@
      * touch functionality to mark
      * compiles and dependencies as changed
      * to get a clean reloading state
-     * <p/>
+     * <p></p>
      * the touch is basically just the same as unix touch
      *
      * @param fileToTouch
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/FactoryEngines.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/FactoryEngines.java
index e2da97e..a897f45 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/FactoryEngines.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/FactoryEngines.java
@@ -33,7 +33,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          holds references to the scripting engines
  *          initializes the engins dynamically
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/CompilationException.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/CompilationException.java
index 57dac04..eeaf828 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/CompilationException.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/api/CompilationException.java
@@ -23,7 +23,7 @@
  * set of source files. However, note that it doesn't mean that the source files
  * themselves contained errors but rather that the system couldn't managed to
  * find an appropriate compiler implementation, etc.</p>
- * <p/>
+ * <p></p>
  * <p>In order to determine whether the compiler successfully compiled a certain
  * source file you have to look for the compilation result instead.</p>
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JRubyCompiler.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JRubyCompiler.java
index 51dad3e..97e5319 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JRubyCompiler.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JRubyCompiler.java
@@ -40,7 +40,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          A compiler for jruby which uses ruby and the standard JSR 223
  *          for compiling classes into java classes
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
index bfc44c2..f268549 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/compiler/JSR199Compiler.java
@@ -46,7 +46,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          a JSR 199 based compiler which implements
  *          our simplified compiler interface
  */
@@ -64,7 +64,7 @@
 
     /**
      * compile all files starting from a given root
-     * <p/>
+     * <p></p>
      * note, the java compiler interface does not allow per se
      * wildcards due to its file object indirection
      * we deal with that problem by determine all files manually and then
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/StandardDependencyScanner.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/StandardDependencyScanner.java
index 0e035e5..85ea210 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/StandardDependencyScanner.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/StandardDependencyScanner.java
@@ -33,7 +33,7 @@
  * A dependency scanner for
  * our classes. This class is thread save on object level
  * and can be used as a singleton
- * <p/>
+ * <p></p>
  *
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
@@ -109,7 +109,7 @@
      * We have to go through the entire hierarchy except for standard
      * namespaces due to the fact that we have to cover source <->binary<->source
      * dependencies with binary being binary classes never to be refreshed
-     * <p/>
+     * <p></p>
      * Note we can optionally do some interface checks here
      * for now annotations are only processed by the class scanner itself
      * so we do not process any annotation inheritance on this level
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/api/DependencyRegistry.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/api/DependencyRegistry.java
index ef858ad..af6be20 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/api/DependencyRegistry.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/api/DependencyRegistry.java
@@ -22,7 +22,7 @@
  * General contractual interface for a dependency registry
  * The dependency registry is a class which stores dependencies
  * according to an internal whitelisting system.
- * <p/>
+ * <p></p>
  * Only classes which pass the whitelisting check will be processed
  */
 public interface DependencyRegistry {
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassDependencies.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassDependencies.java
index bc101ed..c0dc30d 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassDependencies.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassDependencies.java
@@ -37,8 +37,8 @@
      * reverse index which shows which
      * a class name and which classes in the system depend on that
      * classname
-     * <p/>
-     * <p/>
+     * <p></p>
+     * <p></p>
      * the key is a dependency a class has the _value is a set of classes which depend on the current class
      */
     private Map<String, Set<String>> reverseIndex = new ConcurrentHashMap<String, Set<String>>();
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanUtils.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanUtils.java
index f9f43d7..798faf0 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanUtils.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanUtils.java
@@ -21,7 +21,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Utils which store the shared code
  */
 public class ClassScanUtils {
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanVisitor.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanVisitor.java
index 188f1c5..d730b92 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanVisitor.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ClassScanVisitor.java
@@ -34,7 +34,7 @@
 /**
  * The central visitor for the class scanner. ASM uses a visitor interface for high performance
  * to step through classes.
- * <p/>
+ * <p></p>
  * We reuse this pattern to get the best performance possible in this critical part of the application
  * which also is triggered by the startup process.
  *
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ExtendedClassReader.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ExtendedClassReader.java
index f8b9081..b329515 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ExtendedClassReader.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/core/ExtendedClassReader.java
@@ -25,7 +25,7 @@
 /**
  * Class reader for ASM which allows to plug our own loader instead
  * of the default one
- * <p/>
+ * <p></p>
  * (ASM makes too many assumptions regarding the loader)
  */
 public class ExtendedClassReader extends ClassReader {
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/filter/WhitelistFilter.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/filter/WhitelistFilter.java
index 6087ad9..1a9f07a 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/filter/WhitelistFilter.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/filter/WhitelistFilter.java
@@ -27,7 +27,7 @@
 /**
  * Filter class which depends upon a list of whitelisted packages
  * wildcards in this filter are implicit which means
- * <p/>
+ * <p></p>
  * org.apache.myfaces includes all files
  * under org.apache.myfaces
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/registry/ExternalFilterDependencyRegistry.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/registry/ExternalFilterDependencyRegistry.java
index 00d0e0b..e0fac76 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/registry/ExternalFilterDependencyRegistry.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/engine/dependencyScan/registry/ExternalFilterDependencyRegistry.java
@@ -24,10 +24,10 @@
 /**
  * General contractual interface for a dependency registry with external filters
  * being settable
- * <p/>
+ * <p></p>
  * The dependency registry is a class which stores dependencies
  * according to an internal whitelisting system.
- * <p/>
+ * <p></p>
  * Only classes which pass the whitelisting check will be processed
  */
 public interface ExternalFilterDependencyRegistry extends DependencyRegistry
@@ -60,7 +60,7 @@
     /**
      * Flush operation to batch sync
      * the current dependencies against a storage
-     * <p/>
+     * <p></p>
      * (will be removed later once we have all the code transitioned
      * to the registry system)
      */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
index a5b22e3..1835744 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
@@ -57,7 +57,7 @@
      * It keeps track whether the engines source paths
      * have dirty files or not and if true we enforce a recompile at the
      * next refresh!
-     * <p/>
+     * <p></p>
      * We keep track on engine level to avoid to search the classMap for every refresh
      * the classMap still is needed for various identification tasks which are reload
      * related
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
index b051936..f70af8d 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/WatchedResource.java
@@ -24,7 +24,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          An abstraction on our class watcher
  *          we now deal with generic resources to simplify the access
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/GlobalReloadingStrategy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/GlobalReloadingStrategy.java
index a284458..1a4008a 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/GlobalReloadingStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/GlobalReloadingStrategy.java
@@ -30,11 +30,11 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          A reloading strategy chain of responsibility which switches
  *          depending on the artifact type to the correct
  *          strategy
- *          <p/>
+ *          <p></p>
  *          TODO make the reloading strategy pluggable from outside (1.1)!
  *          TODO groovy reloading strategy needs to be added at least the properties
  *          mapping for a groovy class
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/MethodLevelReloadingHandler.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/MethodLevelReloadingHandler.java
index 247405f..c9fff9c 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/MethodLevelReloadingHandler.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/MethodLevelReloadingHandler.java
@@ -33,7 +33,7 @@
  * all interfaceable artifacts which
  * only have reloading logic
  * and can cope with reloading on method level
- * <p/>
+ * <p></p>
  * Note this works only for a minority of the artifacts
  * the reason, most artifacts do not rely on interfaces but
  * on base classes
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/NoMappingReloadingStrategy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/NoMappingReloadingStrategy.java
index 3150ba1..828d37f 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/NoMappingReloadingStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/NoMappingReloadingStrategy.java
@@ -21,21 +21,21 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
- *          <p/>
+ *          <p></p>
+ *          <p></p>
  *          The renderer is a stateless flyweight pattern the reloading strategy is
  *          to do nothing, this should give optimal results
- *          <p/>
- *          <p/>
+ *          <p></p>
+ *          <p></p>
  *          The components are a similar case they are not flyweight
  *          but the properties usually are preserved by the lifecycle if possible
  *          or assigned by the tag handlers
- *          <p/>
- *          <p/>
+ *          <p></p>
+ *          <p></p>
  *          The same also applies to other flyweight patterned classes
  *          like converters or validators
- *          <p/>
- *          <p/>
+ *          <p></p>
+ *          <p></p>
  *          The only ones which need to keep some state are the ones
  *          which keep delegates, like the NavHandler
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/ReloadingInvocationHandler.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/ReloadingInvocationHandler.java
index 80ffbcc..36a4576 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/ReloadingInvocationHandler.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/ReloadingInvocationHandler.java
@@ -25,7 +25,7 @@
 import java.lang.reflect.InvocationHandler;
 
 /**
- * <p/>
+ * <p></p>
  * We set our own invocation handler
  * here to allow reflection utils directly targeting our
  * _delegate.
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
index 32fa5cc..70a5260 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/reloading/SimpleReloadingStrategy.java
@@ -28,9 +28,9 @@
  * A simple implementation of our reloading strategy
  * pattern this is the most basic implementation
  * covering our reloading.
- * <p/>
+ * <p></p>
  * Applicable for most artifacts except for now managed beans
- * <p/> *
+ * <p></p> *
  *
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
@@ -85,7 +85,7 @@
 
     /**
      * helper to map the properties wherever possible
-     * <p/>
+     * <p></p>
      * This is the simplest solution for now,
      * we apply only a copy properties here, which should be enough
      * for all artifacts except the managed beans and the ones
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/BehaviorRendererImplementationListener.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/BehaviorRendererImplementationListener.java
index ae88ea1..5bd7f62 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/BehaviorRendererImplementationListener.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/BehaviorRendererImplementationListener.java
@@ -33,7 +33,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Implementation listener for the FacesBehaviorRenderer annotation
  */
 
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/GenericAnnotationScanner.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/GenericAnnotationScanner.java
index 6aadd53..5cf7b4a 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/GenericAnnotationScanner.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/GenericAnnotationScanner.java
@@ -41,7 +41,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Source path annotation scanner for java it scans all sources in the specified source paths
  *          recursively for additional information
  *          and then adds the id/name -> class binding information to the correct factory locations,
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/purged/PurgedValidator.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/purged/PurgedValidator.java
index 61fd531..a33abf5 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/purged/PurgedValidator.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/annotation/purged/PurgedValidator.java
@@ -26,7 +26,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Purged validator class to enable validator
  *          purging despite the fact
  *          that the original code does not allow it
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponent.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponent.java
index 542f037..f5136f0 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponent.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponent.java
@@ -30,7 +30,7 @@
 /**
  * Compiler component which currently
  * just shows the last compile output in the system
- * <p/>
+ * <p></p>
  * Not to keep backwards compatibility to JSF 1.2
  * we do not use the StateHelper but go the old route
  * instead
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponentRenderer.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponentRenderer.java
index 9506f1c..4b87982 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponentRenderer.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/components/CompilerComponentRenderer.java
@@ -33,7 +33,7 @@
 
 /**
  * Renderer for the compiler component
- * <p/>
+ * <p></p>
  * This renderer is responsible for rendering the last compiler output
  * hosted in our weavingContext
  */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/factories/ScriptingApplicationFactory.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/factories/ScriptingApplicationFactory.java
index 439d0c7..626b8f6 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/factories/ScriptingApplicationFactory.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/factories/ScriptingApplicationFactory.java
@@ -28,13 +28,13 @@
 /**
  * Application factory which introduces
  * scripting proxies for their artefacts
- * <p/>
+ * <p></p>
  * We use a mix of AOP and helper constructs
  * to reach the goal to be dynamic.
  * For most artefacts we just need to
  * check if the object is a Groovy object
  * and then reload at their connection interfaces
- * <p/>
+ * <p></p>
  * Some artefacts have a longer lifespan and/or are stateless
  * for those we have to work with reloading AOP
  *
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/ApplicationProxy.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/ApplicationProxy.java
index 2cf0e2c..72464ed 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/ApplicationProxy.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/dynamicDecorators/implementations/ApplicationProxy.java
@@ -65,7 +65,7 @@
 
 /**
  * @author Werner Punz
- *         <p/>
+ *         <p></p>
  *         our decorating applicstion
  *         which should resolve our bean issues within a central
  *         bean processing interceptor
@@ -152,7 +152,7 @@
      * the same object in a refreshed state from the value
      * part of the set, in our case
      * using hash maps should speed things up
-     * <p/>
+     * <p></p>
      * since we only have few write operations but access
      * the map multithreaded we use concurrentHashMap here
      */
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/resources/deprecated/SourceResourceHandlerSupport.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/resources/deprecated/SourceResourceHandlerSupport.java
index bae1aee..b158d85 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/resources/deprecated/SourceResourceHandlerSupport.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/resources/deprecated/SourceResourceHandlerSupport.java
@@ -24,7 +24,7 @@
  * impl specific handler support which attaches
  * the source resource loader upfront before
  * checking the other ones
- * <p/>
+ * <p></p>
  * a delegate is used to limit the binding between
  * the "parent" class and the child class
  * in this case it simply makes sense to avoid any internal sideeffects
diff --git a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoaderBase.java b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoaderBase.java
index 290e081..6bfde05 100644
--- a/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoaderBase.java
+++ b/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoaderBase.java
@@ -34,7 +34,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          serves the startup process
  *          the chainloader hooks itself into the myfaces init process
  *          and is responsible for startup of the daemon the
diff --git a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
index 9e3cb82..489a01b 100644
--- a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
+++ b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/CustomChainLoader.java
@@ -34,7 +34,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          The chainloader docks onto the forName handler
  *          in the myfaces classutils which load the
  *          artifacting classes, we dock onto this extension point
diff --git a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
index 281d26c..98dbba9 100644
--- a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
+++ b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/MyFacesSPI.java
@@ -27,7 +27,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          SPI for various myfaces related tasks
  */
 public class MyFacesSPI implements ImplementationService
diff --git a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/handlers/MyFacesBeanHandler.java b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/handlers/MyFacesBeanHandler.java
index f129f3e..2f3424c 100644
--- a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/handlers/MyFacesBeanHandler.java
+++ b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/adapters/handlers/MyFacesBeanHandler.java
@@ -66,7 +66,7 @@
     /**
      * Refreshes all managed beans
      * session, and personal scoped ones
-     * <p/>
+     * <p></p>
      * personal scoped beans are beans which
      * have either
      * <li> session scope </li>
diff --git a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/facelet/support/InvokeDynamicBeanPropertyTagRule.java b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/facelet/support/InvokeDynamicBeanPropertyTagRule.java
index 4fe7065..832fa6d 100644
--- a/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/facelet/support/InvokeDynamicBeanPropertyTagRule.java
+++ b/extscript-core-root/extscript-myfaces/src/main/java/org/apache/myfaces/extensions/scripting/jsf/facelet/support/InvokeDynamicBeanPropertyTagRule.java
@@ -34,7 +34,7 @@
  * property tag rule does.
  * By not enforcing a strict per object/class policy on calling
  * the setter we are able to reload the classes on the fly
- * <p/>
+ * <p></p>
  * the original approach was to cache the classes, and then
  * call the invoke method on the existing class
  * if we now exchange the classes we have a problem...
diff --git a/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java b/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
index a5ff7ac..1194d89 100644
--- a/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
+++ b/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/context/TaintHistoryTest.java
@@ -38,7 +38,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Taint history test, which is the first JSF related test
  *          we try to test here a simple mechanism, the taint history under
  *          JSF Testing conditions.
diff --git a/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java b/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
index 8cee277..ed03cc7 100644
--- a/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
+++ b/extscript-core-root/extscript-myfaces/src/test/java/org/apache/myfaces/extensions/scripting/core/probes/Probe.java
@@ -23,7 +23,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          testprobe for our reflectutils
  */
 
diff --git a/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/bean/support/CompilationAwareInstantiationStrategy.java b/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/bean/support/CompilationAwareInstantiationStrategy.java
index 3b589a3..d9032f0 100644
--- a/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/bean/support/CompilationAwareInstantiationStrategy.java
+++ b/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/bean/support/CompilationAwareInstantiationStrategy.java
@@ -36,11 +36,11 @@
  * that Spring internally tries to cache the constructor it used to instantiate a bean. However,
  * if the Class gets reloaded, the instantiation strategy has to resolve the constructor to use
  * again as otherwise it would create an instance of an outdated class.</p>
- * <p/>
+ * <p></p>
  * <p>Note that even though this class extends another class that seems to have a dependency on
  * CGLIB, this is not the case actually. Only if you're using method injection CGLIB has to be
  * available on the classpath.</p>
- * <p/>
+ * <p></p>
  * <p>TODO: Invalidate argument caches.
  * Spring internally caches the arguments to use for instantiating a new bean, i.e. it caches
  * both the constructor / factory method to use and the according resolved arguments. However,
diff --git a/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/util/ResourceUtils.java b/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/util/ResourceUtils.java
index aff9ba5..925793c 100644
--- a/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/util/ResourceUtils.java
+++ b/extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/util/ResourceUtils.java
@@ -46,7 +46,7 @@
      * to the given timestamp, i.e. it compares the given timestamp to the last
      * modified timestamp of the given resource and returns <code>true</code>
      * if the given timestamp is less than the timestamp of the given resource.</p>
-     * <p/>
+     * <p></p>
      * <p>Note that this methods assumes that the given resource exists, otherwise
      * an exception will be thrown.</p>
      *
diff --git a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/core/CDIThrowAwayClassloader.java b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/core/CDIThrowAwayClassloader.java
index 3c23aea..0f41162 100644
--- a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/core/CDIThrowAwayClassloader.java
+++ b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/core/CDIThrowAwayClassloader.java
@@ -33,7 +33,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          We use
  */
 
diff --git a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/Listener.java b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/Listener.java
index 9685c51..3412093 100644
--- a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/Listener.java
+++ b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/Listener.java
@@ -93,7 +93,7 @@
 
     /**
      * Create server deployment.
-     * <p/>
+     * <p></p>
      * Can be overridden with custom servlet deployment.
      * e.g. exact resources listing in ristricted wnv like GAE
      *
diff --git a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/StartupExtension.java b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/StartupExtension.java
index 7eeea48..b2e01d9 100644
--- a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/StartupExtension.java
+++ b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/StartupExtension.java
@@ -30,11 +30,11 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          An extension for cdi which does the initial lifecycle
  *          trigger from CDI instead of JSF since CDI is enabled
  *          before JSF we have to do it that way
- *          <p/>
+ *          <p></p>
  *          Stage 1 of our startup cycle
  */
 public class StartupExtension implements Extension
diff --git a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/WeldBootstrapListener.java b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/WeldBootstrapListener.java
index 6d19ec0..70f6bfe 100644
--- a/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/WeldBootstrapListener.java
+++ b/extscript-core-root/extscript-weld/src/main/java/org/apache/myfaces/extension/scripting/weld/startup/WeldBootstrapListener.java
@@ -33,7 +33,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          This class unfortunately has to be copied over from Weld with minor modifications
  *          the reason for it is that the bootstrap instance var is private final transient
  *          but we have to reroute it to our own bootstrapper.
diff --git a/extscript-examples/blog-example/src/main/webapp/WEB-INF/java/blog/JSFUtilJava.java b/extscript-examples/blog-example/src/main/webapp/WEB-INF/java/blog/JSFUtilJava.java
index 614a6ac..bd3a39b 100644
--- a/extscript-examples/blog-example/src/main/webapp/WEB-INF/java/blog/JSFUtilJava.java
+++ b/extscript-examples/blog-example/src/main/webapp/WEB-INF/java/blog/JSFUtilJava.java
@@ -26,7 +26,7 @@
 /**
  * @author werpu2
  * @date: 01.09.2009
- * <p/>
+ * <p></p>
  * A helper for JSF and introspection related tasks
  */
 public class JSFUtilJava {
diff --git a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtilJava.java b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtilJava.java
index 0586846..f49ff9b 100644
--- a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtilJava.java
+++ b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/blog/JSFUtilJava.java
@@ -26,7 +26,7 @@
 /**
  * @author werpu2
  * @date: 01.09.2009
- * <p/>
+ * <p></p>
  * A helper for JSF and introspection related tasks
  */
 public class JSFUtilJava {
diff --git a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java
index 91d9017..a15e4e5 100644
--- a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java
+++ b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestComponent.java
@@ -90,7 +90,7 @@
     /**
      * Ok guys, lets add a new attribute to the component
      * which is displayed in our browser page
-     * <p/>
+     * <p></p>
      * Note we are on jsf 2 level
      */
 
diff --git a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java
index 51e658f..29fb431 100644
--- a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java
+++ b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer1.java
@@ -30,7 +30,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          Renderer Example with dynamic annotations,
  *          you can move the annotation from one
  *          renderer artifact to the other
diff --git a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer2.java b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer2.java
index 0cca2f4..c5b468e 100644
--- a/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer2.java
+++ b/extscript-examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/componentTest/JavaTestRenderer2.java
@@ -30,7 +30,7 @@
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
- *          <p/>
+ *          <p></p>
  *          This renderer can act as a drag and drop target for the annotation
  *          set in JavaTestRenderer1
  */
diff --git a/src/site/xdoc/install102.xml b/src/site/xdoc/install102.xml
index 36d2bce..00ab011 100644
--- a/src/site/xdoc/install102.xml
+++ b/src/site/xdoc/install102.xml
@@ -173,7 +173,7 @@
                     Maven pom.xml to enable Ext-Scripting
                 </p>
 
-                <p/>
+                <p></p>
                 <h4>MyFaces 1.2.8+</h4>
                 <source><![CDATA[
      <dependency>
diff --git a/src/site/xdoc/installation.xml b/src/site/xdoc/installation.xml
index d0bdfdf..19c124d 100644
--- a/src/site/xdoc/installation.xml
+++ b/src/site/xdoc/installation.xml
@@ -166,7 +166,7 @@
                     Maven pom.xml to enable Ext-Scripting
                 </p>
 
-                <p/>
+                <p></p>
 
 
                 <h4>MyFaces 2.1+</h4>
diff --git a/src/site/xdoc/mojarra.xml b/src/site/xdoc/mojarra.xml
index af98380..749e55c 100644
--- a/src/site/xdoc/mojarra.xml
+++ b/src/site/xdoc/mojarra.xml
@@ -37,11 +37,11 @@
 
         <section name="Setup Steps">
             The setup is fairly straight forward.
-            <p/>
+            <p></p>
             Add the support jars (extscript-mojarra-bundle.jar) and setup your loader paths
             just like you would do it for MyFaces.
             The main difference is setting up the loader paths for Mojarra is <b>mandatory</b>.
-            <p/>
+            <p></p>
             The mandatory loader paths are needed to avoid conflicts with Mojarras internal Groovy
             support which utilizes the same paths. (This was a design decision to keep Mojarra compatibility
             at a time Mojarra support was not really under discussion)
diff --git a/src/site/xdoc/owbSpring.xml b/src/site/xdoc/owbSpring.xml
index 6212dfc..04ec452 100644
--- a/src/site/xdoc/owbSpring.xml
+++ b/src/site/xdoc/owbSpring.xml
@@ -37,16 +37,16 @@
             <subsection name="Introduction">
                 As of Version 1.0.4 Ext-Scripting has introduced basic openwebbeans support.
                 This support is considered to be experimental so use it with care.
-                <p/>
+                <p></p>
                 This means you can define CDI Beans within the supported scripting languages
                 and you can provide dynamic reloading (in a more simplified manner)
                 to OWB.
-                <p/>
+                <p></p>
                 The reloading is different to standard JSF due to CDI limitations, in case
                 of a changed bean the entire container is reloaded instead of the bean
                 and its dependencies. This has to be taken into consideration if you use
                 the OWB support module.
-                <p/>
+                <p></p>
                 Also Ext-Scripting OWB is an extension module, it is not part of the core distribution you get
                 if you include the<b>extscript-myfaces20-bundle</b>.
                 So a separate include of the OWB support
@@ -87,10 +87,10 @@
             <subsection name="Introduction">
                 As of version 1.0.5 basic spring support has been provided to Ext-Scripting.
                 This support is considered to be experimental so use it with care.
-                <p/>
+                <p></p>
                 Spring support means you can define Spring Beans within the supported scripting languages
                 and you can provide dynamic reloading to Spring.
-                <p/>
+                <p></p>
                 Also Spring support is an extension module, it is not part of the core distribution you get
                 if you include the<b>extscript-myfaces20-bundle</b>.
                 So a separate include of the Spring support
@@ -113,7 +113,7 @@
 
                 And of course Spring must be properly present, either via the app server
                 or simply by a Maven include.
-                <p/>
+                <p></p>
                 Also following parameter must be added to your web.xml:
                 <source><![CDATA[
 <listener>
