只有 setter(而不是属性)的 Maven 插件

Maven plugin with only setters (instead of attributes)

我正在编写一个包装现有资源生命周期的 Maven 插件。在该资源上公开的几个属性必须作为插件配置中的可配置属性公开。

让我们假设资源公开了 "xyz" 属性。我想在我的 Mojo 中公开一个 setter 方法,如下所示:

public void setXyz(String xyz) { resource. setXyz(xyz); }

没有对应的

@Parameter 
private String xyz;

有人知道是否有办法避免 @Parameter 或在方法级别指示此类声明吗?类似于:

@Parameter 
public void setXyz(String xyz) { 
    resource. setXyz(xyz); 
}

不幸的是没有,因为下面的注解只分配给了一个FIELD目标(参见@Parameter注解界面上的@Target注解)。请参阅 javadoc here.

@Documented
@Retention(value=CLASS)
@Target(value=FIELD)
@Inherited
public @interface Parameter

This 不限制你使用 getter 和 setter 方法。