如何在Maven插件配置中保留空格?

时间:2011-09-12 15:06:54

标签: maven-2 maven maven-3

我有一个名为suffix的插件配置参数。我希望用户能够指定换行符(通过按Return键生成的文字字符,而不是某些转义变体,尽管我会得到它)作为该参数的值。

同时,参数设置为default-value。我想继续使用它。

如何在插件的配置节中指定suffix参数应采用换行符?

我试过这个:

<suffix><![CDATA[
]]></suffix>

......而且这个:

<suffix>${line.separator}</suffix>

...(那个实际上替换了正确的字符,但XML解析踩踏它)和这个:

<suffix><[!CDATA[${line.separator}]]></suffix>

......而且这个:

<suffix>&x0d;</suffix>

......而且这个:

<suffix xml:space="preserve">
</suffix>

......一切都无济于事。具体来说,我会看到参数的默认值。

编辑:有趣的是,在Maven的内部机会有机会处理这个值之前很久就会吃掉这个空格。 mvn help:effective-pom将显示已删除空格。在解析阶段早期删除了前导,尾随和“仅”空白内容。

在我看来,这很可能是一个错误,所以我已经提交了http://jira.codehaus.org/browse/PLX-461来跟踪它。

3 个答案:

答案 0 :(得分:2)

codehaus链接不再起作用,但我在maven文档中发现,从版本3.0开始,您可以向任何不想修剪的元素添加属性xml:space =“preserve”。

答案 1 :(得分:1)

根据说明,我通过将人们引荐到以下JIRA来回答这个问题:https://issues.apache.org/jira/browse/MNG-5380(最初位于http://jira.codehaus.org/browse/PLX-461)。

答案 2 :(得分:0)

使用$${line.separator}。双$$逃脱它。关于Codehaus IRC频道的一个小伙伴最近分享了他的发现,所以实际应该归功于他。