diff --git a/core/api/src/test/java/org/onosproject/net/topology/DefaultTopologyEdgeTest.java b/core/api/src/test/java/org/onosproject/net/topology/DefaultTopologyEdgeTest.java
index a74882f..118d3f8 100644
--- a/core/api/src/test/java/org/onosproject/net/topology/DefaultTopologyEdgeTest.java
+++ b/core/api/src/test/java/org/onosproject/net/topology/DefaultTopologyEdgeTest.java
@@ -48,14 +48,14 @@
 
     static final ProviderId PID = new ProviderId("foo", "bar");
 
-    /** D1:P1 -> D2:P1. */
+    /** D1:P1 {@literal ->} D2:P1. */
     static final Link L1 = DefaultLink.builder()
             .providerId(PID)
             .src(CP1)
             .dst(CP2)
             .type(Link.Type.INDIRECT)
             .build();
-    /** D2:P1 -> D1:P2. */
+    /** D2:P1 {@literal ->} D1:P2. */
     static final Link L2 = DefaultLink.builder()
             .providerId(PID)
             .src(CP3)
diff --git a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
index 267396c..ea100d1 100644
--- a/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
+++ b/core/net/src/main/java/org/onosproject/cluster/impl/ConfigFileBasedClusterMetadataProvider.java
@@ -272,7 +272,6 @@
 
     /**
      * Monitors the metadata url for any updates and notifies providerService accordingly.
-     * @throws IOException
      */
     private void watchUrl(String metadataUrl) {
         // TODO: We are merely polling the url.
diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
index e5f40b3..4fe986c 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
@@ -1297,7 +1297,7 @@
 
     /**
      * Responds to anti-entropy advertisement message.
-     * <p/>
+     * <p>
      * Notify sender about out-dated information using regular replication message.
      * Send back advertisement to sender if not in sync.
      *
diff --git a/utils/jdvue/src/main/java/org/onlab/jdvue/Catalog.java b/utils/jdvue/src/main/java/org/onlab/jdvue/Catalog.java
index 40cb99a..ad97794 100644
--- a/utils/jdvue/src/main/java/org/onlab/jdvue/Catalog.java
+++ b/utils/jdvue/src/main/java/org/onlab/jdvue/Catalog.java
@@ -279,7 +279,7 @@
 
     /**
      * Extracts a fully qualified source class name from the given path.
-     * <p/>
+     * <p>
      * For now, this implementation assumes standard Maven source structure
      * and thus will look for start of package name under 'src/main/java/'.
      * If it will not find such a prefix, it will simply return the path as
diff --git a/utils/junit/src/test/java/org/onlab/junit/TestUtilsTest.java b/utils/junit/src/test/java/org/onlab/junit/TestUtilsTest.java
index 68e407f..0223e56 100644
--- a/utils/junit/src/test/java/org/onlab/junit/TestUtilsTest.java
+++ b/utils/junit/src/test/java/org/onlab/junit/TestUtilsTest.java
@@ -121,7 +121,7 @@
 
     /**
      * Example to call private method and multiple parameters.
-     * <p/>
+     * <p>
      * It also illustrates that paramTypes must match declared type,
      * not the runtime types of arguments.
      *
@@ -151,7 +151,7 @@
 
     /**
      * Example to call method returning array.
-     * <p/>
+     * <p>
      * Note: It is not required to receive as Object.
      * Following is just verifying it is not Boxed arrays.
      *
@@ -170,7 +170,7 @@
 
     /**
      * Example to call void returning method.
-     * <p/>
+     * <p>
      * Note: Return value will be null for void methods.
      *
      * @throws TestUtilsException TestUtils error
