diff --git a/build.xml b/build.xml
index fbdba80a..f108dd58 100644
--- a/build.xml
+++ b/build.xml
@@ -1017,7 +1017,7 @@
+ excludeFilter="${findbugs.excludes}" jvmargs="-Xms512m -Xmx512m">
diff --git a/src/java/com/cloudera/sqoop/Sqoop.java b/src/java/com/cloudera/sqoop/Sqoop.java
index 51cedff8..dcd0cfd1 100644
--- a/src/java/com/cloudera/sqoop/Sqoop.java
+++ b/src/java/com/cloudera/sqoop/Sqoop.java
@@ -20,7 +20,6 @@
import java.util.Arrays;
-import org.apache.commons.cli.ParseException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
@@ -28,7 +27,7 @@
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
-import com.cloudera.sqoop.tool.HelpTool;
+import com.cloudera.sqoop.cli.ToolOptions;
import com.cloudera.sqoop.tool.SqoopTool;
/**
@@ -121,13 +120,16 @@ public int run(String [] args) {
options = tool.parseArguments(args, null, options, false);
tool.appendArgs(this.childPrgmArgs);
tool.validateOptions(options);
- } catch (ParseException pe) {
- // Couldn't parse arguments. Just print a usage message and exit.
- new HelpTool().run(new SqoopOptions(getConf()));
- return 1;
- } catch (SqoopOptions.InvalidOptionsException e) {
- // Error validating arguments. Print an error message and exit.
+ } catch (Exception e) {
+ // Couldn't parse arguments.
+ // Log the stack trace for this exception
+ LOG.debug(e.getMessage(), e);
+ // Print exception message.
System.err.println(e.getMessage());
+ // Print the tool usage message and exit.
+ ToolOptions toolOpts = new ToolOptions();
+ tool.configureOptions(toolOpts);
+ tool.printHelp(toolOpts);
return 1; // Exit on exception here.
}
diff --git a/src/java/com/cloudera/sqoop/tool/HelpTool.java b/src/java/com/cloudera/sqoop/tool/HelpTool.java
index a615676d..dea1bb4f 100644
--- a/src/java/com/cloudera/sqoop/tool/HelpTool.java
+++ b/src/java/com/cloudera/sqoop/tool/HelpTool.java
@@ -78,7 +78,7 @@ private void printAvailableTools() {
/** {@inheritDoc} */
public int run(SqoopOptions options) {
- if (this.extraArguments.length > 0) {
+ if (this.extraArguments != null && this.extraArguments.length > 0) {
if (hasUnrecognizedArgs(extraArguments, 1, extraArguments.length)) {
return 1;
}