有一个模块经常变更,总是改版本号也挺烦的,而且同事也不能保证每次 deploy 主动更改版本号,所以希望能够有个方便的方法直接 deploy 的时候使用时间戳作为版本号,以下是我的做法:
<properties>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
</properties>
<version>${maven.build.timestamp}</version>
这样虽然可以打出来动态时间戳的包,但是这样做 Maven 是给 warning 的,而且看 jar 包里面的 pom 文件,version 也是"${maven.build.timestamp}"字符串,请问有什么办法吗?
PS:好想用 Gradle 啊,Gradle 我管他三七二十一,一把梭搞定,但是不让用
1
AmmeLid 2020-05-13 14:02:17 +08:00
SNAPSHOT 解决不了吗?
|
2
BBCCBB 2020-05-13 14:04:45 +08:00
对,用 snapshot
|
3
BBCCBB 2020-05-13 14:06:08 +08:00
Gradle 你生成时间戳有啥用呢, 手动更改版本?? 用 snapshot 不香吗
|
4
LosLord OP |
5
jinzhongyuan 2020-05-13 14:47:20 +08:00
@LosLord idea 开启永远更新快照,就可以了。
|
6
LosLord OP |
8
BBCCBB 2020-05-13 17:47:53 +08:00
|
9
guxingke 2020-05-13 17:55:30 +08:00
version.sh
```bash #!/usr/bin/env bash version=$(date +%y%m%d.%H%M) echo $version mvn -q versions:set -DnewVersion=$version mvn -q versions:commit ``` deploy 前执行 version.sh 即可。 |
10
zoharSoul 2020-05-13 18:29:13 +08:00
|
11
br00k 2020-05-13 21:24:45 +08:00 1
最近刚弄了这个。可以看下: http://maven.apache.org/maven-ci-friendly.html
|