【问题标题】:Manipulating __artifactId__ during file generation by maven archetype通过 maven 原型在文件生成期间操作 __artifactId__
【发布时间】:2013-02-02 09:22:02
【问题描述】:

构建使用 _artifactId_ 生成文件的 Maven 原型。 archetype.xml 看起来像:

<sources>
    <source>src/main/java/__artifactId__.java</source>
    <source>src/main/java/__artifactId__CommandExecutor.java</source>
    <source>src/main/java/__artifactId__EventListener.java</source>
</sources>

使用此原型生成项目可能会导致 Java 文件名不遵循命名约定,例如 sample-plugin.java 和 sample-pluginCommandExecutor.java。

如何确保将 _artifactId_ 转换为适当的 Java 文件名,例如 SamplePlugin.java 和 SamplePluginCommandExecutor.java。

【问题讨论】:

    标签: maven maven-3 maven-archetype


    【解决方案1】:

    我不是原型专家,实际上我只做过一次,但 面临一个非常相似的问题。

    我无法找到自定义文件或目录名称的方法 无论如何,我的意思是使用原型参数之一并转换 它。

    所以我使用了两种解决方案

    • 在您指定类名的地方添加一个新的原型参数
    • 使用标准名称(如 ArtifactClass.java),然后使用更改名称的 ant 脚本创建 maven 配置文件(如果存在此文件,则启用)(请记住在您的文件中您可以使用速度来自定义它)

    希望对你有帮助 托尼奥

    【讨论】:

    • 我在考虑使用固定类名路由,但想探索传递参数方法的选项。但是,该参数可作为 ${property} 访问。当前源文件命名为____artifactId____.java。在这种情况下,新的源文件将如何命名?
    • 假设您的参数是 mainClassName,因此在您的原型中,该类应称为____mainClassName____.java(两侧有 2 个下划线),我将这种方法用于目录名称,我想它适用于文件名也是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 2010-12-05
    • 2011-02-21
    相关资源
    最近更新 更多