防止Maven原型从创建变量生成

时间:2013-07-26 16:21:34

标签: maven maven-archetype

我创建了一个Maven Archetype,用于我们公司的项目。一切都运行良好,直到部署一个由原型构建的项目,该项目由于无效的XML而失败。

在我创建的用于生成原型的模板中有几个.xml文件。每个都有一个XML声明:

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

当运行mvn archetype:create-from-project为我删除原型时,它显然将XML声明中的 version 确定为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 个答案:

答案 0 :(得分:2)

您可以在-Darchetype.filteredExtentions=extension1,extension2,...命令中添加mvn,告诉maven在进行速度替换时要包含哪些文件扩展名。此过滤器包含文件扩展名,因此您必须列出所有文件扩展名并保留xml以便跳过它们。如果-Darchetype.filteredExtentions是项目中唯一的文件类型,则可以xml