gpt4 book ai didi

maven-2 - 如何使用 Maven Archetype 创建动态命名的文件夹?

转载 作者:行者123 更新时间:2023-12-02 20:42:25 28 4
gpt4 key购买 nike

我正在尝试构建一个像这样的原型(prototype)结构,一个带有一些用于我们的 Web 框架的自定义文件夹的 Web 应用程序。特别是一些动态文件夹,其中还会包含原型(prototype)带来的一些文件。

└───src
└───main
└───webapp
└───WEB-INF
├───cfg
│ ├───log4j
│ └───resources
│ └───extensions
│ ├───${shortName}-business
│ └───${shortName}-layout
└───lib

我在 archetype-metadata.xml 中添加了一个必需的属性,以便为项目提供一个短名称,该名称可用于生成唯一的文件夹。

<requiredProperties>
<requiredProperty key="shortName" />
</requiredProperties>

我在fileSet中使用的属性shortName:

<fileSet>
<directory>[..]/resources/extensions/${shortName}-business</directory>
</fileSet>

<fileSet>
<directory>[..]/resources/extensions/${shortName}-layout</directory>
</fileSet>
<小时/>

生成原型(prototype)的命令:

mvn archetype:generate -B \
-DgroupId=com.stackoverflow \
-DartifactId=stackoverflow-question -DarchetypeGroupId=com.stackoverflow \
-DarchetypeArtifactId=stackoverflow-archetype -DarchetypeVersion=1.0 \
-DshortName=soq

我假设获得以下文件夹结构:

..\
├───soq-business
└───soq-layout

但我将此名称 ${shortName}-business 作为文件夹,而没有将其替换为属性。

..\
├───${shortName}-business
└───${shortName}-layout

我怎样才能实现这个目标?目前不知道文件夹名称,如何将文件放在 soq-business 下?

最佳答案

我今天想到了完全相同的问题......

我发现 Adam Leggett 的一些博客文章描述了在路径中使用占位符:看看 https://mikeciblogs.wordpress.com/2010/01/14/working-with-custom-maven-archetypes-part-1/ (第 4 步)。

技巧似乎是使用双下划线而不是大括号语法,因此 ${shortName} 变为 __shortName__

但是,我还没有尝试过该解决方案。如果您这样做,请告诉我们它是否有效。谢谢!

呵呵!

关于maven-2 - 如何使用 Maven Archetype 创建动态命名的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802637/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com