2013-07-26 70 views
1

我創建了一個Maven原型用於我們公司的項目。一切運作良好,直到部署一個由原型構建的項目,由於XML無效而失敗。防止Maven原型從創建變量生成

在我創建的用於從多個.xml文件生成原型的模板中。每個人都有一個XML聲明:

<?xml version="1.0" encoding="UTF-8"?> 

當運行mvn archetype:create-from-project撲滅原型對我來說,它顯然決定在XML聲明作爲Maven的關鍵字,幷包裹在一個變量。其結果是,在原型中的每個XML聲明成爲:

<?xml ${version}="1.0" encoding="UTF-8"?> 

使用原型創建了一個項目後,Maven的明顯替換項目的用戶選擇的版本,這個變量。這導致類似:

<?xml 1.0-SNAPSHOT="1.0" encoding="UTF-8"?> 

爲XML絕對無效。我的問題是,你如何防止mvn archetype:create-from-project這樣做?有沒有辦法以某種方式限制其範圍或在命令行中設置標誌?

回答

1

您可以將-Darchetype.filteredExtentions=extension1,extension2,...添加到您的mvn命令中,告訴maven在執行速度替換時要包含哪些文件擴展名。此過濾器包含文件擴展名,所以您已經制作了所有文件擴展名的列表,並放棄xml以跳過它們。如果xml是您項目中唯一的文件類型,則可以執行-Darchetype.filteredExtentions

+1

就是這樣!一個空的文件列表來過濾,它沒有碰我的XML :) –