[ https://issues.apache.org/jira/browse/MNG-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525513#comment-16525513 ]
Chris Egerton commented on MNG-6434: ------------------------------------ It seems like the behavior for the API here doesn't really align with the expectations a user would have when configuring a Maven plugin. A default value is what should be used in the event that a parameter is _not_ specified; if the user goes out of their way to specify a value, even an empty/null one, why would they still want it overridden by the default? > Cannot specify empty string for configuration value > --------------------------------------------------- > > Key: MNG-6434 > URL: https://issues.apache.org/jira/browse/MNG-6434 > Project: Maven > Issue Type: Bug > Components: Plugin API > Affects Versions: 3.5.4 > Reporter: Chris Egerton > Priority: Major > > We have a MOJO class that involves several user-configured parameters. Some > of these parameters have default values that we'd like to use in the event > that the user doesn't specify a value for them; however, we'd also like the > user to be able to explicitly specify that the parameter should _not_ have a > value. The approach we wanted to take was to specify default values in the > parameter's annotation: > {{@Parameter(property = "foo.bar", defaultValue = "${project.scm.url}")}} > {{private String foo;}} > And then detect empty strings as the user's way of saying "I know there's a > default value for this parameter but I'm sure that I'd actually like it to be > empty anyways.": > {{<configuration>}} > {{ <foo></foo>}} > {{</configuration>}} > or > {{<configuration>}} > {{ <foo />}} > {{</configuration>}} > > However, there's been some trouble as we haven't found a way yet to > distinguish between an intentionally-empty string and one that hasn't been > specified at all; the value for foo is always null regardless. > Is there a friendly and/or intuitive way for the user to pass an empty string > as a parameter value? -- This message was sent by Atlassian JIRA (v7.6.3#76005)