import org.apache.commons.cli.OptionBuilder
OptionBuilder.withLongOpt("db-host").hasArg.
withDescription("Name of the database host").create('h')
Я получаю ошибку hasArg is not a member of org.apache.commons.cli.OptionBuilder
. Не имеет значения, если я изменю .hasArg
на .hasArg()
.
Почему?
Поскольку в OptionBuilder
нет метода экземпляра hasArg
, только статический метод. Поскольку hasArg
является статическим методом, вам, очевидно, нужно вызывать его для класса, а не для экземпляра класса.
Кстати, Java это хорошо разбирает.
Я не понимаю, как это связано с анализом. Scala разбирает это тоже отлично. Кроме того, то, что какое-то совершенно другое программирование делает или не делает с этим кодом, совершенно не имеет значения, поскольку это код Scala, а не какой-то другой язык.
Вам нужно сделать что-то вроде этого:
import org.apache.commons.cli.OptionBuilder
OptionBuilder.withLongOpt("db-host")
OptionBuilder.hasArg
OptionBuilder.withDescription("Name of the database host")
val optionParser = OptionBuilder.create('h')