【问题标题】:Prevent Maven archetype generate from creating variable防止 Maven 原型生成创建变量
【发布时间】:2013-07-26 16:21:34
【问题描述】:

我创建了一个 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 这样做呢?有没有办法以某种方式限制其范围或在命令行中设置标志?

【问题讨论】:

    标签: maven maven-archetype


    【解决方案1】:

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

    【讨论】:

    • 就是这样!一个要过滤的空文件列表,它没有触及我的 XML :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2011-12-09
    • 2013-05-08
    • 2010-12-05
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多