diff --git a/archiva-cli/src/main/java/org/apache/archiva/cli/ArchivaCli.java b/archiva-cli/src/main/java/org/apache/archiva/cli/ArchivaCli.java
index f0ef555..1d15b63 100644
--- a/archiva-cli/src/main/java/org/apache/archiva/cli/ArchivaCli.java
+++ b/archiva-cli/src/main/java/org/apache/archiva/cli/ArchivaCli.java
@@ -50,8 +50,7 @@
 
 /**
  * ArchivaCli
- * <p/>
- * <p/>
+ *
  * TODO add back reading of archiva.xml from a given location
  */
 public class ArchivaCli
diff --git a/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java b/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
index de94847..39a11c5 100644
--- a/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
+++ b/archiva-modules/archiva-base/archiva-checksum/src/main/java/org/apache/archiva/checksum/ChecksummedFile.java
@@ -36,7 +36,6 @@
 
 /**
  * ChecksummedFile
- * <p/>
  * <p>Terminology:</p>
  * <dl>
  * <dt>Checksum File</dt>
@@ -119,7 +118,6 @@
      * <p>
      * Given a checksum file, check to see if the file it represents is valid according to the checksum.
      * </p>
-     * <p/>
      * <p>
      * NOTE: Only supports single file checksums of type MD5 or SHA1.
      * </p>
diff --git a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java
index 96a551b..655ae69 100644
--- a/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java
+++ b/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java
@@ -84,8 +84,6 @@
 
     /**
      * Get the list of patterns for a specified filetype.
-     * <p/>
-     * <p/>
      * You will always get a list.  In this order.
      * <ul>
      * <li>The Configured List</li>
diff --git a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
index ad73be6..8bd5d4d 100644
--- a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
+++ b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/archiva/proxy/DefaultRepositoryProxyConnectors.java
@@ -101,7 +101,6 @@
 
 /**
  * DefaultRepositoryProxyConnectors
- * <p/>
  * TODO exception handling needs work - "not modified" is not really an exceptional case, and it has more layers than
  * your average brown onion
  */
diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ProxyConnector.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ProxyConnector.java
index 93ffd9d..53f757f 100644
--- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ProxyConnector.java
+++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ProxyConnector.java
@@ -39,42 +39,36 @@
 
     /**
      * The policy key {@link #getPolicies()} for error handling.
-     * See {@link org.apache.archiva.policies.DownloadErrorPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_PROPAGATE_ERRORS = "propagate-errors";
 
     /**
      * The policy key {@link #getPolicies()} for error handling when an artifact is present.
-     * See {@link org.apache.archiva.policies.DownloadErrorPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_PROPAGATE_ERRORS_ON_UPDATE = "propagate-errors-on-update";
 
     /**
      * The policy key {@link #getPolicies()} for snapshot handling.
-     * See {@link org.apache.archiva.policies.SnapshotsPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_SNAPSHOTS = "snapshots";
 
     /**
      * The policy key {@link #getPolicies()} for releases handling.
-     * See {@link org.apache.archiva.policies.ReleasesPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_RELEASES = "releases";
 
     /**
      * The policy key {@link #getPolicies()} for checksum handling.
-     * See {@link org.apache.archiva.policies.ChecksumPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_CHECKSUM = "checksum";
 
     /**
      * The policy key {@link #getPolicies()} for cache-failures handling.
-     * See {@link org.apache.archiva.policies.CachedFailuresPolicy}
      * for details on potential values to this policy key.
      */
     public static final String POLICY_CACHE_FAILURES = "cache-failures";
diff --git a/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java b/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java
index c84af36..7021494 100644
--- a/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java
+++ b/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java
@@ -24,7 +24,7 @@
 
 /**
  * Information about the issue management system used by the project.
- * <p/>
+ *
  * TODO considering moving this to a facet - avoid referring to it externally
  */
 @XmlRootElement(name = "issueManagement")
diff --git a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
index 9570d7d..d12a29f 100644
--- a/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
+++ b/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/DefaultMetadataResolver.java
@@ -43,21 +43,24 @@
 import java.util.List;
 
 /**
+ * <p>
  * Default implementation of the metadata resolver API. At present it will handle updating the content repository
  * from new or changed information in the model and artifacts from the repository storage.
- * <p/>
+ * </p>
+ * <p>
  * This is a singleton component to allow an alternate implementation to be provided. It is intended to be the same
  * system-wide for the whole content repository instead of on a per-managed-repository basis. Therefore, the session is
  * passed in as an argument to obtain any necessary resources, rather than the class being instantiated within the
  * session in the context of a single managed repository's resolution needs.
- * <p/>
+ * </p>
+ * <p>
  * Note that the caller is responsible for the session, such as closing and saving (which is implied by the resolver
  * being obtained from within the session). The {@link RepositorySession#markDirty()} method is used as a hint to ensure
  * that the session knows we've made changes at close. We cannot ensure the changes will be persisted if the caller
  * chooses to revert first. This is preferable to storing the metadata immediately - a separate session would require
  * having a bi-directional link with the session factory, and saving the existing session might save other changes
  * unknowingly by the caller.
- * <p/>
+ * </p>
  */
 @Service("metadataResolver#default")
 public class DefaultMetadataResolver
@@ -67,12 +70,15 @@
     private Logger log = LoggerFactory.getLogger( DefaultMetadataResolver.class );
 
     /**
+     * <p>
      * FIXME: this needs to be configurable based on storage type - and could also be instantiated per repo. Change to a
      * factory, and perhaps retrieve from the session. We should avoid creating one per request, however.
-     * <p/>
+     * </p>
+     * <p>
      * TODO: Also need to accommodate availability of proxy module
      * ... could be a different type since we need methods to modify the storage metadata, which would also allow more
      * appropriate methods to pass in the already determined repository configuration, for example, instead of the ID
+     * </p>
      */
     @Inject
     @Named(value = "repositoryStorage#maven2")
diff --git a/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java b/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
index a75d007..58a4dee 100644
--- a/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
+++ b/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/metadata/repository/storage/maven2/Maven2RepositoryStorage.java
@@ -99,13 +99,15 @@
 import java.util.Map;
 
 /**
+ * <p>
  * Maven 2 repository format storage implementation. This class currently takes parameters to indicate the repository to
  * deal with rather than being instantiated per-repository.
  * FIXME: instantiate one per repository and allocate permanently from a factory (which can be obtained within the session).
- * <p/>
+ * </p>
+ * <p>
  * The session is passed in as an argument to obtain any necessary resources, rather than the class being instantiated
  * within the session in the context of a single managed repository's resolution needs.
- * <p/>
+ * </p>
  */
 @Service( "repositoryStorage#maven2" )
 public class Maven2RepositoryStorage
