С Groovy's CliBuilder можно указать несколько аргументов, как описано, например. здесь:Groovy CliBuilder несколько аргументов без запятых
Пример из приведенной выше ссылке:
def cli = new CliBuilder(
usage: 'findClassesInJars.groovy -d <root_directories> -s <strings_to_search_for>',
header: '\nAvailable options (use -h for help):\n',
footer: '\nInformation provided via above options is used to generate printed string.\n')
import org.apache.commons.cli.Option
cli.with
{
h(longOpt: 'help', 'Help', args: 0, required: false)
d(longOpt: 'directories', 'Two arguments, separated by a comma', args: Option.UNLIMITED_VALUES, valueSeparator: ',', required: true)
s(longOpt: 'strings', 'Strings (class names) to search for in JARs', args: Option.UNLIMITED_VALUES, valueSeparator: ',', required: true)
}
Однако, это означает, что сценарий должен быть назван так:
groovy script.groovy -d folder1,folder2,folder3
вместо тем более обычным (по крайней мере, в мире Unix):
groovy script.groovy -d folder1 -d folder2 -d folder3
Есть ли способ заставить его работать, как во втором примере?
Скорее нет. Просто глупая идея: вы пытались установить разделитель как '-d'? – Opal
Да, просто оставьте значениеSeparator. –