Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
Windows XP
Description
Required parameters configured in execution part of POM are ignored if:
the parameter ist set as required AND
(no default value is set OR
default-Value is set to "") AND
configuration of parameter values are done in the execution element.
Example:
Parameter definition in Mojo:
/** * @parameter default-value="ATTENTION DEFAULT" * @required */ private File dummy1;
and snip from POM:
<plugins> <plugin> <groupId>myownartifact.plugin</groupId> <artifactId>maven-myownartifact-plugin</artifactId> <extensions>true</extensions> <executions> <execution> <id>extract</id> <configuration> <dummy1>c:/my files/test/dummy1</dummy1> </configuration> <goals> <goal>extract</goal> </goals> </execution> </executions> </plugin> </plugins>
runs fine.
If I change the definition of the parameter to
/**
* @parameter
* @required
*/
private File dummy1;
or
* @parameter default-value=""
then I got an error:
[0] inside the definition for plugin: 'maven-myownartifact-plugin'specify the following:
<configuration>
...
<dummy2>VALUE</dummy2>
</configuration>.
In my opinion this is a bug because with @required I have already tagged this parameter as mandatory. So I'm already forced to configure it.
BTW, if I configure the parameters outside the execution element evrything works fine as expected!
More info:
- the plugin is bind to the package phase
If a runable example is needed it's possible to provide one.
Attachments
Issue Links
- duplicates
-
MNG-3401 Plugin parameters must be specified outside an execution block when they are invoked from the command line
- Closed