use*_*892 3 java maven maven-archetype
在我的maven原型定义中,我想在用户不输入任何内容时将默认版本设置为0.0.1-SNAPSHOT.但是,当我基于原型创建项目时,我总是被提示输入版本,默认值为1.0-SNAPSHOT.
我该怎么做呢?
我在archetype.properties文件中定义了一个版本属性,当我编译原型时,它说的是正确的版本,当我更改archetype.properties中的值时,我可以看到控制台输出相应地改变了.
只是在基于原型创建项目时,我再次被提示输入版本.
感谢您的帮助和提示!
(如有必要,我会提供代码)
您可以在原型元数据中定义自定义属性.有一个看archetype-metadata.xml在META-INF/maven.例如:
my-archetype
|
+ src
|
+ main
|
+ resources
|
+ META-INF
|
+ maven
|
+ archetype-metadata.xml
Run Code Online (Sandbox Code Playgroud)
自定义属性version如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="basic">
<requiredProperties>
<requiredProperty key="version">
<defaultValue>0.0.1-SNAPSHOT</defaultValue>
</requiredProperty>
</requiredProperties>
</archetype-descriptor>
Run Code Online (Sandbox Code Playgroud)
文档中的更多细节.
当您运行mvn archetype:generate引用具有上述配置的原型的命令时,您将在控制台输出中看到:
[INFO] Using property: version = 0.0.1-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
或者,如果您mvn archetype:generate使用参数运行命令,-Dversion=FOO那么您将在控制台输出中看到:
[INFO] Using property: version = FOO
Run Code Online (Sandbox Code Playgroud)
注意:当然,这个版本与archetypeVersion定义原型本身版本的版本不同,而不是原型生成的模块版本.
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |