osgi中的manifest文件语法

首先,osgi遵循java对manifest的语法规定, 详见 jar中的manifest文件语法


对于name-value pair中的value部分, 用逗号可以分隔多个子句.下面的例子value部分就是由三个子句构成的:

 

Property-Name: clause1, clause2, clause3


对于每个子句,还可以进一步分成一个target和若干个name-value pair.下面的例子value部分由三个子句构成,每个子句都有个targetn,后面跟着一个或多个name-value pair.


Property-Name: target1; parameter1=value1; parameter2=value2,
 target2; parameter1=value1; parameter2=value2,
 target3; parameter1=value1; parameter2=value2

 

每个子句中的name-value pair叫做parameter, parameter分为两种类型:属性attribute和指令directive.

指令directive的parameter用(:=)来分隔;

属性attribute的parameter用(=)来分隔;

下面的例子中即包含指令类型的parameter,又包含属性类型的parameter

 

Property-Name: target1; dir1:=value1; attr1=value2,
 target2; dir1:=value1; attr1=value2,

 target3; dir1:=value1; attr1=value2

 

parameter中的value不能包含空格和其他分隔字符(;,等),如果包含需要进行转义处理;

 

如果多个target有相同的指令和属性,为了避免重复,可以简写,下面的例子中 target1和target2有相同的parameter.

 

Property-Name: target1; target2; dir1:=value1; attr1=value2

 

 

你可能感兴趣的:(java,jar,osgi,pair)