Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Duplicate
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Plugins and Lifecycle
-
Labels:None
-
Environment:Windows XP
-
Complexity:Intermediate
-
Number of attachments :
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.
Issue Links
- duplicates
-
MNG-3401
Plugin parameters must be specified outside an execution block when they are invoked from the command line
-
This is very bad bug because I must make my own versions of plugins witch I need to run more than once in same execution with different configuration. One good example is exec-maven-plugin.