diff --git a/apps/BOB/src/net/i2p/BOB/BOB.java b/apps/BOB/src/net/i2p/BOB/BOB.java
index 675ad64624ba88ee6a6d8fde9854c38993fe90d9..83bf9767c18dd06e177b5b02474f5113962a28ce 100644
--- a/apps/BOB/src/net/i2p/BOB/BOB.java
+++ b/apps/BOB/src/net/i2p/BOB/BOB.java
@@ -155,7 +155,6 @@ public class BOB implements Runnable, ClientApp {
 	 *
 	 *  @param mgr may be null
 	 *  @param args non-null
-	 *  @throws Exception on bad args
 	 *  @since 0.9.10
 	 */
 	public BOB(I2PAppContext context, ClientAppManager mgr, String[] args) {
diff --git a/apps/i2psnark/java/src/org/klomp/snark/BitField.java b/apps/i2psnark/java/src/org/klomp/snark/BitField.java
index 7ec4727053c3a25ad8aa6b87adf86a67b1f40d7e..c1c238cec36f8afea9312f6b03db33a0dd198733 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/BitField.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/BitField.java
@@ -48,7 +48,7 @@ public class BitField
    * as set by the given byte array. This will make a copy of the array.
    * Extra bytes will be ignored.
    *
-   * @throws ArrayOutOfBoundsException if give byte array is not large
+   * @throws IndexOutOfBoundsException if give byte array is not large
    * enough.
    */
   public BitField(byte[] bitfield, int size)
diff --git a/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java b/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java
index 31b85554c00f135d4ab5db96f280461f20d7ac7b..145d8224df65c3322df2b85c9bfb7e56ffbbcfa6 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/MagnetState.java
@@ -161,7 +161,7 @@ class MagnetState {
 
     /**
      *  @return true if this was the last piece
-     *  @throws NPE, IllegalArgumentException, IOException, ...
+     *  @throws NullPointerException IllegalArgumentException, IOException, ...
      */
     public boolean saveChunk(int chunk, byte[] data, int off, int length) throws Exception {
         if (!isInitialized)
@@ -185,7 +185,7 @@ class MagnetState {
 
     /**
      *  @return true if this was the last piece
-     *  @throws NPE, IllegalArgumentException, IOException, ...
+     *  @throws NullPointerException IllegalArgumentException, IOException, ...
      */
     private MetaInfo buildMetaInfo() throws Exception {
         // top map has nothing in it but the info map (no announce)
diff --git a/apps/i2psnark/java/src/org/klomp/snark/bencode/BDecoder.java b/apps/i2psnark/java/src/org/klomp/snark/bencode/BDecoder.java
index f7a6e06cb7c47f20d61e76b9579efa6d1e70f5da..4d7162e3df98cbcfba8aeaaf5f8698cdf2dd10f5 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/bencode/BDecoder.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/bencode/BDecoder.java
@@ -102,7 +102,7 @@ public class BDecoder
    * @return The first BEValue on the stream or null when the stream
    * has ended.
    *
-   * @throws InvalidBEncoding when the stream doesn't start with a
+   * @throws InvalidBEncodingException when the stream doesn't start with a
    * bencoded value or the stream isn't a bencoded stream at all.
    * @throws IOException when somthing bad happens with the stream
    * to read from.
diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java
index 708d2d27661272c69d5050d626d4e4e1bab9e6c0..35d5761aae5efde188a6f339ed47aef42d8c5791 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java
@@ -77,7 +77,7 @@ class NodeInfo extends SimpleDataStructure {
      * @param compactInfo 20 byte node ID, 32 byte destHash, 2 byte port
      * @param offset starting at this offset in compactInfo
      * @throws IllegalArgumentException
-     * @throws AIOOBE
+     * @throws ArrayIndexOutOfBoundsException
      */
     public NodeInfo(byte[] compactInfo, int offset) {
         super();
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/SSLClientUtil.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/SSLClientUtil.java
index 01e7c4791922f8cdd300a107eb678b696cf1892f..07a3b76653cadfdde46b409a4764e28d6f5d992b 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/SSLClientUtil.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/SSLClientUtil.java
@@ -153,7 +153,7 @@ public class SSLClientUtil {
      *  Sets up the SSLContext and sets the socket factory.
      *  No option prefix allowed.
      *
-     * @throws IOException; GeneralSecurityExceptions are wrapped in IOE for convenience
+     * @throws IOException GeneralSecurityExceptions are wrapped in IOE for convenience
      * @return factory, throws on all errors
      */
     public static SSLServerSocketFactory initializeFactory(Properties opts) throws IOException {
diff --git a/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java b/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java
index ef60acd371cdfd0410b0b8b79e2b2ba94b8444b3..1008e9f30150f49caa084e9823a1c6b3ddf9627c 100644
--- a/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java
+++ b/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java
@@ -39,7 +39,7 @@ import org.mortbay.util.LineInput;
  * This class decodes the multipart/form-data stream sent by
  * a HTML form that uses a file input item.
  *
- * <p><h4>Usage</h4>
+ * <h4>Usage</h4>
  * Each part of the form data is named from the HTML form and
  * is available either via getString(name) or getInputStream(name).
  * Furthermore the MIME parameters and filename can be requested for
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index 5beb2ba232b3664120322d753e731e879fe34842..169a795f362902be99c205497f5da0a0bef3e36b 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -56,7 +56,7 @@ public class GraphHelper extends FormHandler {
     }
     
     /**
-     *  This must be output in the jsp since <meta> must be in the <head>
+     *  This must be output in the jsp since *lt;meta&gt; must be in the &lt;head&gt;
      *  @since 0.8.7
      */
     public String getRefreshMeta() {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
index 75a55709fa03288818877c3f80238a50578d0039..56cffb20007b92abe18035a6ce683e94e67b0880 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
@@ -118,6 +118,7 @@ public class SummaryHelper extends HelperBase {
     }
 **/
     
+    /** allowReseed */
     public boolean allowReseed() {
         return _context.netDb().isInitialized() &&
                (_context.netDb().getKnownRouters() < 30) ||
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java
index c88ec64d90a6aa955978e654bef98e434d1333be..3e2eb9ecc65076fa8aeccdb36ac57d08c70a986f 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java
@@ -37,7 +37,7 @@ import org.eclipse.jetty.webapp.WebAppContext;
  *
  *  No, wac.addClassPath() does not work. For more info see:
  *
- *  http://servlets.com/archive/servlet/ReadMsg?msgId=511113&listName=jetty-support
+ *  http://servlets.com/archive/servlet/ReadMsg?msgId=511113&amp;listName=jetty-support
  *
  *  @since 0.7.12
  *  @author zzz
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
index 4455945e83f99ce71626bd6c9f9d4f1b4903061e..70a86a89b4de39caaa61aa0baa8d17eec93f5924 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
@@ -27,7 +27,7 @@ import org.eclipse.jetty.webapp.WebAppContext;
  *
  *  No, wac.addClassPath() does not work. For more info see:
  *
- *  http://servlets.com/archive/servlet/ReadMsg?msgId=511113&listName=jetty-support
+ *  http://servlets.com/archive/servlet/ReadMsg?msgId=511113&amp;listName=jetty-support
  *
  *  @since 0.7.12
  *  @author zzz
@@ -51,7 +51,7 @@ public class WebAppStarter {
      *  Adds and starts.
      *  Prior to 0.9.28, was not guaranteed to throw on failure.
      *
-     *  @throws just about anything, caller would be wise to catch Throwable
+     *  @throws Exception just about anything, caller would be wise to catch Throwable
      */
     static void startWebApp(RouterContext ctx, ContextHandlerCollection server,
                             String appName, String warPath) throws Exception {
@@ -123,8 +123,8 @@ public class WebAppStarter {
     }
 
     /**
-     *  stop it and remove the context
-     *  @throws just about anything, caller would be wise to catch Throwable
+     *  Stop it and remove the context.
+     *  Throws just about anything, caller would be wise to catch Throwable
      */
     static void stopWebApp(String appName) {
         ContextHandler wac = getWebApp(appName);
diff --git a/apps/sam/java/src/net/i2p/sam/MasterSession.java b/apps/sam/java/src/net/i2p/sam/MasterSession.java
index 67ff566b5627a8349f17e451349e086b7ae1543a..fc69a7238cd83e3d330af98c9297bc922db64dfd 100644
--- a/apps/sam/java/src/net/i2p/sam/MasterSession.java
+++ b/apps/sam/java/src/net/i2p/sam/MasterSession.java
@@ -54,7 +54,6 @@ class MasterSession extends SAMv3StreamSession implements SAMDatagramReceiver, S
 	 * @param nick nickname of the session
 	 * @throws IOException
 	 * @throws DataFormatException
-	 * @throws I2PSessionException
 	 */
 	public MasterSession(String nick, SAMv3DatagramServer dgServer, SAMv3Handler handler, Properties props) 
 			throws IOException, DataFormatException, SAMException {
diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java b/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java
index f547a2e402c0cd62e178637f1e0351c314e7eac8..8be28b47598ef2252a167367cbdb3c75821cdf31 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMv3StreamSession.java
@@ -77,7 +77,7 @@ class SAMv3StreamSession  extends SAMStreamSession implements Session
 	     * @throws IOException
 	     * @throws DataFormatException
 	     * @throws SAMException 
-	     * @throws NPE if login nickname is not registered
+	     * @throws NullPointerException if login nickname is not registered
 	     */
 	    public SAMv3StreamSession(String login)
 	    		throws IOException, DataFormatException, SAMException
@@ -98,7 +98,6 @@ class SAMv3StreamSession  extends SAMStreamSession implements Session
 	     * @param login nickname of the session
 	     * @throws IOException
 	     * @throws DataFormatException
-	     * @throws I2PSessionException
 	     * @since 0.9.25
 	     */
 	    public SAMv3StreamSession(String login, Properties props, SAMv3Handler handler, I2PSocketManager mgr,
diff --git a/apps/sam/java/src/net/i2p/sam/SSLUtil.java b/apps/sam/java/src/net/i2p/sam/SSLUtil.java
index bf4ebf1e42b3fa1b80f64295f38d4d629193266f..cf170f6ecf72889cdd4b33660a418d0d9dc402aa 100644
--- a/apps/sam/java/src/net/i2p/sam/SSLUtil.java
+++ b/apps/sam/java/src/net/i2p/sam/SSLUtil.java
@@ -138,7 +138,7 @@ class SSLUtil {
      *  Sets up the SSLContext and sets the socket factory.
      *  No option prefix allowed.
      *
-     * @throws IOException; GeneralSecurityExceptions are wrapped in IOE for convenience
+     * @throws IOException GeneralSecurityExceptions are wrapped in IOE for convenience
      * @return factory, throws on all errors
      */
     public static SSLServerSocketFactory initializeFactory(Properties opts) throws IOException {
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
index 242ceea85e569d6a2b2eb99fc177adf999838039..d988d40afbbfb3fa2fd8f79aba6e96a3d16f58a3 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
@@ -110,7 +110,7 @@ public class AddressBean
 	 * Ref: java.net.IDN and RFC 3940
 	 * @param host will be converted to lower case
 	 * @return name converted to lower case and punycoded if necessary
-	 * @throws IAE on various errors or if IDN is needed but not available
+	 * @throws IllegalArgumentException on various errors or if IDN is needed but not available
 	 * @since 0.8.7
 	 */
 	static String toASCII(String host) throws IllegalArgumentException {
diff --git a/apps/susimail/src/src/i2p/susi/util/Folder.java b/apps/susimail/src/src/i2p/susi/util/Folder.java
index 54f647d87abf21771e9e0a3234f9331f4832b1ad..d2a44a6cd1a4a63c2bea995edfe6227dcd385d81 100644
--- a/apps/susimail/src/src/i2p/susi/util/Folder.java
+++ b/apps/susimail/src/src/i2p/susi/util/Folder.java
@@ -369,7 +369,7 @@ public class Folder<O extends Object> {
 	 * Sets the sorting direction of the folder.
 	 * Does not re-sort. Caller must call sortBy()
 	 * 
-	 * @param direction @link UP or @link DOWN
+	 * @param direction UP or DOWN
 	 */
 	public synchronized void setSortingDirection(SortOrder direction)
 	{
diff --git a/installer/java/src/net/i2p/installer/FixWinPaths.java b/installer/java/src/net/i2p/installer/FixWinPaths.java
index 698f6102cf7ed40802a6ca58734fae5a79b6df14..605c872c6b9954a4e60def509fd68a346b597b57 100644
--- a/installer/java/src/net/i2p/installer/FixWinPaths.java
+++ b/installer/java/src/net/i2p/installer/FixWinPaths.java
@@ -17,7 +17,7 @@ import java.io.PrintStream;
  * <li>rewrites the applicable wrapper config options to point to <code>%APPDATA%\I2P</code></li>
  * <li>corrects the paths, rewriting <code>/</code> to <code>\</code></li>
  * </ul>
- * </p>
+ * <p>
  * Usage: <code>FixWinPaths [WrapperConfigFile]</code>
  * @since 0.9.5
  */