diff --git a/src/main/java/org/apache/commons/cli/AlreadySelectedException.java b/src/main/java/org/apache/commons/cli/AlreadySelectedException.java
index 864b981..2959d43 100644
--- a/src/main/java/org/apache/commons/cli/AlreadySelectedException.java
+++ b/src/main/java/org/apache/commons/cli/AlreadySelectedException.java
@@ -20,8 +20,6 @@
 /**
  * Thrown when more than one option in an option group
  * has been provided.
- *
- * @version $Id$
  */
 public class AlreadySelectedException extends ParseException
 {
diff --git a/src/main/java/org/apache/commons/cli/AmbiguousOptionException.java b/src/main/java/org/apache/commons/cli/AmbiguousOptionException.java
index 266dc8e..96a5eeb 100644
--- a/src/main/java/org/apache/commons/cli/AmbiguousOptionException.java
+++ b/src/main/java/org/apache/commons/cli/AmbiguousOptionException.java
@@ -22,8 +22,7 @@
 
 /**
  * Exception thrown when an option can't be identified from a partial name.
- * 
- * @version $Id$
+ *
  * @since 1.3
  */
 public class AmbiguousOptionException extends UnrecognizedOptionException
diff --git a/src/main/java/org/apache/commons/cli/BasicParser.java b/src/main/java/org/apache/commons/cli/BasicParser.java
index 4ffd073..d173c82 100644
--- a/src/main/java/org/apache/commons/cli/BasicParser.java
+++ b/src/main/java/org/apache/commons/cli/BasicParser.java
@@ -21,7 +21,6 @@
  * The class BasicParser provides a very simple implementation of
  * the {@link Parser#flatten(Options,String[],boolean) flatten} method.
  *
- * @version $Id$
  * @deprecated since 1.3, use the {@link DefaultParser} instead
  */
 @Deprecated
diff --git a/src/main/java/org/apache/commons/cli/CommandLine.java b/src/main/java/org/apache/commons/cli/CommandLine.java
index 8b72aa3..bf151f1 100644
--- a/src/main/java/org/apache/commons/cli/CommandLine.java
+++ b/src/main/java/org/apache/commons/cli/CommandLine.java
@@ -34,8 +34,6 @@
  * <p>
  * Additionally, any left-over or unrecognized arguments,
  * are available for further processing.
- *
- * @version $Id$
  */
 public class CommandLine implements Serializable
 {
diff --git a/src/main/java/org/apache/commons/cli/CommandLineParser.java b/src/main/java/org/apache/commons/cli/CommandLineParser.java
index 32e4c87..20e308e 100644
--- a/src/main/java/org/apache/commons/cli/CommandLineParser.java
+++ b/src/main/java/org/apache/commons/cli/CommandLineParser.java
@@ -21,8 +21,6 @@
  * A class that implements the <code>CommandLineParser</code> interface
  * can parse a String array according to the {@link Options} specified
  * and return a {@link CommandLine}.
- *
- * @version $Id$
  */
 public interface CommandLineParser
 {
diff --git a/src/main/java/org/apache/commons/cli/DefaultParser.java b/src/main/java/org/apache/commons/cli/DefaultParser.java
index 87f3fda..b0feabb 100644
--- a/src/main/java/org/apache/commons/cli/DefaultParser.java
+++ b/src/main/java/org/apache/commons/cli/DefaultParser.java
@@ -24,8 +24,7 @@
 
 /**
  * Default parser.
- * 
- * @version $Id$
+ *
  * @since 1.3
  */
 public class DefaultParser implements CommandLineParser
diff --git a/src/main/java/org/apache/commons/cli/GnuParser.java b/src/main/java/org/apache/commons/cli/GnuParser.java
index 8e8536e..f8cce89 100644
--- a/src/main/java/org/apache/commons/cli/GnuParser.java
+++ b/src/main/java/org/apache/commons/cli/GnuParser.java
@@ -24,7 +24,6 @@
  * The class GnuParser provides an implementation of the
  * {@link Parser#flatten(Options, String[], boolean) flatten} method.
  *
- * @version $Id$
  * @deprecated since 1.3, use the {@link DefaultParser} instead
  */
 @Deprecated
diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java b/src/main/java/org/apache/commons/cli/HelpFormatter.java
index 789e592..b751b69 100644
--- a/src/main/java/org/apache/commons/cli/HelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java
@@ -67,8 +67,6 @@
  * 
  * Please report issues at http://example.com/issues
  * </pre>
- * 
- * @version $Id$
  */
 public class HelpFormatter
 {
diff --git a/src/main/java/org/apache/commons/cli/MissingArgumentException.java b/src/main/java/org/apache/commons/cli/MissingArgumentException.java
index 4ca42b3..88617c2 100644
--- a/src/main/java/org/apache/commons/cli/MissingArgumentException.java
+++ b/src/main/java/org/apache/commons/cli/MissingArgumentException.java
@@ -20,8 +20,6 @@
 /**
  * Thrown when an option requiring an argument
  * is not provided with an argument.
- *
- * @version $Id$
  */
 public class MissingArgumentException extends ParseException
 {
diff --git a/src/main/java/org/apache/commons/cli/MissingOptionException.java b/src/main/java/org/apache/commons/cli/MissingOptionException.java
index cd5b42d..4160665 100644
--- a/src/main/java/org/apache/commons/cli/MissingOptionException.java
+++ b/src/main/java/org/apache/commons/cli/MissingOptionException.java
@@ -22,8 +22,6 @@
 
 /**
  * Thrown when a required option has not been provided.
- *
- * @version $Id$
  */
 public class MissingOptionException extends ParseException
 {
diff --git a/src/main/java/org/apache/commons/cli/Option.java b/src/main/java/org/apache/commons/cli/Option.java
index 5242186..f941788 100644
--- a/src/main/java/org/apache/commons/cli/Option.java
+++ b/src/main/java/org/apache/commons/cli/Option.java
@@ -36,8 +36,6 @@
  *
  * @see org.apache.commons.cli.Options
  * @see org.apache.commons.cli.CommandLine
- *
- * @version $Id$
  */
 public class Option implements Cloneable, Serializable
 {
diff --git a/src/main/java/org/apache/commons/cli/OptionBuilder.java b/src/main/java/org/apache/commons/cli/OptionBuilder.java
index ba04155..2548dbe 100644
--- a/src/main/java/org/apache/commons/cli/OptionBuilder.java
+++ b/src/main/java/org/apache/commons/cli/OptionBuilder.java
@@ -24,8 +24,7 @@
  * <a href="http://c2.com/cgi-bin/wiki?BuilderPattern">http://c2.com/cgi-bin/wiki?BuilderPattern</a>.
  * <p>
  * This class is NOT thread safe. See <a href="https://issues.apache.org/jira/browse/CLI-209">CLI-209</a>
- * 
- * @version $Id$
+ *
  * @since 1.0
  * @deprecated since 1.3, use {@link Option#builder(String)} instead
  */
diff --git a/src/main/java/org/apache/commons/cli/OptionGroup.java b/src/main/java/org/apache/commons/cli/OptionGroup.java
index 126d928..68cf2c5 100644
--- a/src/main/java/org/apache/commons/cli/OptionGroup.java
+++ b/src/main/java/org/apache/commons/cli/OptionGroup.java
@@ -25,8 +25,6 @@
 
 /**
  * A group of mutually exclusive options.
- *
- * @version $Id$
  */
 public class OptionGroup implements Serializable
 {
diff --git a/src/main/java/org/apache/commons/cli/OptionValidator.java b/src/main/java/org/apache/commons/cli/OptionValidator.java
index 98f22e5..11a39d4 100644
--- a/src/main/java/org/apache/commons/cli/OptionValidator.java
+++ b/src/main/java/org/apache/commons/cli/OptionValidator.java
@@ -20,7 +20,6 @@
 /**
  * Validates an Option string.
  *
- * @version $Id$
  * @since 1.1
  */
 final class OptionValidator
diff --git a/src/main/java/org/apache/commons/cli/Options.java b/src/main/java/org/apache/commons/cli/Options.java
index 41373cc..1d02220 100644
--- a/src/main/java/org/apache/commons/cli/Options.java
+++ b/src/main/java/org/apache/commons/cli/Options.java
@@ -37,8 +37,6 @@
  * allowing for flexible multi-stage parsing.
  *
  * @see org.apache.commons.cli.CommandLine
- *
- * @version $Id$
  */
 public class Options implements Serializable
 {
diff --git a/src/main/java/org/apache/commons/cli/ParseException.java b/src/main/java/org/apache/commons/cli/ParseException.java
index dba1d5d..bb28210 100644
--- a/src/main/java/org/apache/commons/cli/ParseException.java
+++ b/src/main/java/org/apache/commons/cli/ParseException.java
@@ -19,8 +19,6 @@
 
 /**
  * Base for Exceptions thrown during parsing of a command-line.
- *
- * @version $Id$
  */
 public class ParseException extends Exception
 {
diff --git a/src/main/java/org/apache/commons/cli/Parser.java b/src/main/java/org/apache/commons/cli/Parser.java
index 0fe5984..9fd90a9 100644
--- a/src/main/java/org/apache/commons/cli/Parser.java
+++ b/src/main/java/org/apache/commons/cli/Parser.java
@@ -27,7 +27,6 @@
 /**
  * <code>Parser</code> creates {@link CommandLine}s.
  *
- * @version $Id$
  * @deprecated since 1.3, the two-pass parsing with the flatten method is not enough flexible to handle complex cases
  */
 @Deprecated
diff --git a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
index 90ca7d5..de8f5da 100644
--- a/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
+++ b/src/main/java/org/apache/commons/cli/PatternOptionBuilder.java
@@ -51,8 +51,6 @@
  * <p>
  * TODO: These need to break out to OptionType and also to be pluggable.
  * </p>
- *
- * @version $Id$
  */
 public class PatternOptionBuilder
 {
diff --git a/src/main/java/org/apache/commons/cli/PosixParser.java b/src/main/java/org/apache/commons/cli/PosixParser.java
index 9a2408e..80e583a 100644
--- a/src/main/java/org/apache/commons/cli/PosixParser.java
+++ b/src/main/java/org/apache/commons/cli/PosixParser.java
@@ -26,7 +26,6 @@
  * The class PosixParser provides an implementation of the
  * {@link Parser#flatten(Options,String[],boolean) flatten} method.
  *
- * @version $Id$
  * @deprecated since 1.3, use the {@link DefaultParser} instead
  */
 @Deprecated
diff --git a/src/main/java/org/apache/commons/cli/TypeHandler.java b/src/main/java/org/apache/commons/cli/TypeHandler.java
index 68b4f02..858b160 100644
--- a/src/main/java/org/apache/commons/cli/TypeHandler.java
+++ b/src/main/java/org/apache/commons/cli/TypeHandler.java
@@ -31,8 +31,6 @@
  * pluggableness of OptionTypes and it will direct all of these types
  * of conversion functionalities to ConvertUtils component in Commons
  * already. BeanUtils I think.
- *
- * @version $Id$
  */
 public class TypeHandler
 {
diff --git a/src/main/java/org/apache/commons/cli/UnrecognizedOptionException.java b/src/main/java/org/apache/commons/cli/UnrecognizedOptionException.java
index 988d869..9a2b18d 100644
--- a/src/main/java/org/apache/commons/cli/UnrecognizedOptionException.java
+++ b/src/main/java/org/apache/commons/cli/UnrecognizedOptionException.java
@@ -20,8 +20,6 @@
 /**
  * Exception thrown during parsing signalling an unrecognized
  * option was seen.
- *
- * @version $Id$
  */
 public class UnrecognizedOptionException extends ParseException
 {
diff --git a/src/main/java/org/apache/commons/cli/Util.java b/src/main/java/org/apache/commons/cli/Util.java
index f83f45e..e3f6d43 100644
--- a/src/main/java/org/apache/commons/cli/Util.java
+++ b/src/main/java/org/apache/commons/cli/Util.java
@@ -19,8 +19,6 @@
 
 /**
  * Contains useful helper methods for classes within this package.
- *
- * @version $Id$
  */
 final class Util
 {
diff --git a/src/main/java/org/apache/commons/cli/package-info.java b/src/main/java/org/apache/commons/cli/package-info.java
index b20d4ab..663a950 100644
--- a/src/main/java/org/apache/commons/cli/package-info.java
+++ b/src/main/java/org/apache/commons/cli/package-info.java
@@ -17,7 +17,5 @@
 
 /**
  * Apache Commons CLI provides a simple API for presenting, processing and validating a command line interface.
- *
- * @version $Id$
  */
 package org.apache.commons.cli;
