diff --git a/src/main/java/org/springframework/shell/core/SimpleParser.java b/src/main/java/org/springframework/shell/core/SimpleParser.java index 7630b0e5..7bc9ef47 100644 --- a/src/main/java/org/springframework/shell/core/SimpleParser.java +++ b/src/main/java/org/springframework/shell/core/SimpleParser.java @@ -577,7 +577,15 @@ public class SimpleParser implements Parser { Assert.notNull(cmd, "CliCommand unavailable for '" + methodTarget.getMethod().toGenericString() + "'"); // Make a reasonable attempt at parsing the remainingBuffer - Tokenizer tokenizer = new Tokenizer(methodTarget.getRemainingBuffer(), true); + Tokenizer tokenizer = null; + try { + tokenizer = new Tokenizer(methodTarget.getRemainingBuffer(), true); + } + catch (IllegalArgumentException e) { + // Make sure we don't crash the mail shell loop just + // because the user specified some option twice + return -1; + } Map options = tokenizer.getTokens(); // Lookup arguments for this target