作为插件定义的一部分,插件的参数值配置在Maven项目的pom.xml中完成。
作为Mojo参数的简单变量类型及其值在pom中的解释规则。
1、Boolean 型
包括boolean和Boolean。读配置时,读到true字符串时将参数设为true,读到其它字符串将参数设为false。例如:
/**
* My boolean.
*/
@Parameter
private boolean myBoolean;
<myBoolean>true</myBoolean>
2、数值型
包括byte, Byte, int, Integer, long, Long, short和Short。读配置时,xml中的文本通过Integer.parseInt()或对应类型的valueOf()方法转为整型数。字符串必须是有效的十进制整数,只包含数字0到9和可选的前置“-”表示负数。例如:
/**
* My Integer.
*/
@Parameter
private Integer myInteger;
<myInteger>10</myInteger>
3、浮点型
包含double, Double, float和Float。读配置时,使用对应类型的valueOf()将xml中的文本转为二进制。文本可以是Java语言规范3.10.2节规定的任意格式。有效值示例如1.0和6.02E+23。
/**
* My Double.
*/
@Parameter
private Double myDouble;
<myDouble>1.0</myDouble>
4、日期型
包括Date类型。读配置时,xml中的文本按”yyyy-MM-dd HH:mm:ss.S a”(如”2005-10-06 2:22:55.1 PM”)或”yyyy-MM-dd HH:mm:ssa”(如”2005-10-06 2:22:55PM”)格式转换。注意解析通过DateFormat.parse()完成,允许格式的少许偏差。这个方法尽力解析出日期和时间,即使格式不严格地匹配上述格式,例如:
/**
* My Date.
*/
@Parameter
private Date myDate;
<myDate>2005-10-06 2:22:55.1 PM</myDate>
5、文件和目录
包括File类。读配置时,xml文件中的文本被当做需要的文件或目录路径。如果是相对路径(不以/或驱动器字母如C:开头),路径是相对于POM所在目录。例如:
/**
* My File.
*/
@Parameter
private File myFile;
<myFile>c:\temp</myFile>
6、URL类型
包含URL类。读配置时,xml中的文本被当做URL。格式必须遵循RFC2396,看起来像web浏览器的URL(scheme://host:port/path/to/file)。转换URL时对它的任何部分没有限制。
/**
* My URL.
*/
@Parameter
private URL myURL;
<myURL>http://maven.apache.org</myURL>
7、普通文本
包含char, Character, StringBuffer和String。读配置时,xml文件中的文本被当做赋予参数的值。对char和Character参数,只使用文本的第一个字符。
8、枚举
也可以使用枚举类型变量。首先需要定义枚举类型,然后就可以在参数定义中使用了。
public enum Color {
GREEN,
RED,
BLUE
}
/**
* My Enum
*/
@Parameter
private Color myColor;
<myColor>GREEN</myColor>