Chr*_*wes 13 maven-2 maven-archetype
我正在尝试构建一个这样的原型结构,一个带有一些Web框架自定义文件夹的webapp.特别是一些动态文件夹,它们也包含原型带来的一些文件.
????src
????main
????webapp
????WEB-INF
????cfg
? ????log4j
? ????resources
? ????extensions
? ????${shortName}-business
? ????${shortName}-layout
????lib
Run Code Online (Sandbox Code Playgroud)
我为我添加了一个必需的属性,archetype-metadata.xml以便为项目创建一个简短名称,用于生成唯一文件夹.
<requiredProperties>
<requiredProperty key="shortName" />
</requiredProperties>
Run Code Online (Sandbox Code Playgroud)
shortName我使用的属性fileSet:
<fileSet>
<directory>[..]/resources/extensions/${shortName}-business</directory>
</fileSet>
<fileSet>
<directory>[..]/resources/extensions/${shortName}-layout</directory>
</fileSet>
Run Code Online (Sandbox Code Playgroud)
生成原型的命令:
mvn archetype:generate -B \
-DgroupId=com.stackoverflow \
-DartifactId=stackoverflow-question -DarchetypeGroupId=com.stackoverflow \
-DarchetypeArtifactId=stackoverflow-archetype -DarchetypeVersion=1.0 \
-DshortName=soq
Run Code Online (Sandbox Code Playgroud)
我假设获得以下文件夹结构:
..\
????soq-business
????soq-layout
Run Code Online (Sandbox Code Playgroud)
但我得到这个名字${shortName}-business作为文件夹,而不是被属性替换.
..\
????${shortName}-business
????${shortName}-layout
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?如何在soq-business不知道文件夹名称的情况下将文件放在下面?
小智 20
我今天想到了完全相同的问题......
我在Adam Leggett找到了一些博客文章,描述了在路径中使用占位符:看看https://mikeciblogs.wordpress.com/2010/01/14/working-with-custom-maven-archetypes-part-1/(第4步).
诀窍似乎是使用加倍的下划线而不是花括号语法,所以${shortName}变成了__shortName__.
但是,我还没有尝试过这个解决方案.如果您这样做,请告知我们是否有效.谢谢!
HTH!
| 归档时间: |
|
| 查看次数: |
5816 次 |
| 最近记录: |