2013-10-25 36 views
3

我想從我的原型創建一個xml文件,該文件的名稱包含兩個連接在一起的變量。Maven 2原型創建:如何連接文件夾/文件名中的變量

例: 原型-metadata.xml中

<requiredProperties> 
    <requiredProperty key="category"/> 
    <requiredProperty key="description"/> 
</requiredProperties> 

定類別= 「MyCategory」 和描述= 「MyDescription」,我想我的文件被命名爲 「MyCateogryMyDescription.xml」。不是「MyCategory-MyDescription.xml」,也不是兩者之間的任何東西。

這個怪異的,特定的,僵硬的要求背後的原因是,很明顯,向後兼容我不想接觸的標準。

我的第一次嘗試是明顯的__category ____描述__。xml,但事實證明生成的文件名爲「MyCategory__description __。xml」。如果我在它們之間添加了一些東西,像__category __-__ description __。xml這樣的破折號,它會正確地解析爲「MyCategory-MyDescription.xml」,但這並不是我想要的,正如我之前所說的。

+0

我現在有同樣的問題。你有沒有爲此找到一個解決方案? –

+0

我還沒有找到解決方案,但問題出現在Maven Archetype代碼中 - 它們使用正則表達式'__。* __',它是貪婪的並且丟失了任何前導下劃線。應該重寫正則表達式來替換。*爲'不帶下劃線',如'__^[_] __'。但是有些人在多年前提交了這樣的修復,並且從未將其納入主要版本。我現在要去嘗試下面的組合方法,看看它是否有效。 –

回答

3

可以定義附加的requiredProperty,其默認值對應於描述類別標記值的組合(即,可訪問通過通常的$ {...}表示法的裝置)。

因此,考慮到上述引用的例子,可以插入下面的代碼片段在原型-metadata.xml中文件

<requiredProperties> 
    <requiredProperty key="category"/> 
    <requiredProperty key="description"/> 
    <requiredProperty key="categoryDescriptionComposition"> 
     <defaultValue>${category}${description}</defaultValue> 
    </requiredProperty> 
</requiredProperties> 

最後命名文件__categoryDe​​scriptionComposition __。XML

+0

謝謝!對於舊的回覆感到抱歉,我想你很可能早就想到了。我以前應該真的回答過... – faustool

相關問題