jcommander icon indicating copy to clipboard operation
jcommander copied to clipboard

Main parameter does not support IStringConverterInstanceFactory

Open antonio-rodriges opened this issue 3 years ago • 1 comments

JCommander can accept

IStringConverterInstanceFactory

But it does not work for the main parameter

com.beust.jcommander.ParameterException: Could not invoke null
    Reason: Can not set <....>.Name field ><.....>.Name to java.lang.String
	at com.beust.jcommander.Parameterized.set(Parameterized.java:273)
	at com.beust.jcommander.JCommander$MainParameter.addValue(JCommander.java:108)
	at com.beust.jcommander.JCommander.parseValues(JCommander.java:789)
	at com.beust.jcommander.JCommander.parse(JCommander.java:363)
	at com.beust.jcommander.JCommander.parse(JCommander.java:342)

A workaround is to specify a dummy converter class for the main parameter that cannot be instantiated (e.g. an abstract class with a private constructor), see https://github.com/cbeust/jcommander/issues/380#issuecomment-1189410233

Related issue: https://github.com/cbeust/jcommander/issues/380

antonio-rodriges avatar Jul 21 '22 09:07 antonio-rodriges