pom.xml
<pluginManagement>
<plugins>
<plugin>
<groupId>com.example.groupid</groupId>
<artifactId>artifact-example-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<id>mojo-plugin-id</id>
<goals>
<goal>example-gole</goal>
</goals>
<phase>integration-test</phase>
<configuration>
<employee>
<firstName>MyFirstName</firstName>
<middleName>MyMiddleName</middleName>
<lastName>MyLastName</lastName>
</employee>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
выше значения тега конфигурации, установленного как нулевое значение в классе Java (класс Java, как следует), но если я удалил тег «pluginManagement», все работает отлично
ExampleMojo.java
@Mojo(name = "example-gole")
открытый класс ExampleMojo extends AbstractMojo {
@Parameter(property = "employee")
private Employee employee;
@Override
public void execute() throws MojoExecutionException {
getLog().info(employee);
}
}
метод execute показывает нулевой вывод для всех свойств
Employee.java
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
private String firstName;
private String middleName;
private String lastName;
// consider constructor, getter and setter, hashcode, eqauls, toString is available
}
Подробнее
Создание настраиваемого плагина maven. Вышеупомянутые java-классы взяты из плагина maven, но вышеупомянутая конфигурация pom.xml - из его вызывающей стороны.