0

在我们的 POM 文件中,我们有 scm 部分,我们在其中定义了 cvs 存储库的 url,包括来自环境设置的当前系统用户的变量。

<developerConnection>scm:cvs:pserver:${env.CVS_USER}@servercvs01:/path/to/cvs/project:module</developerConnection>

现在的问题是,如果我执行 maven 目标 release:prepare 变量将使用当前用户进行插值(这通常很好)但是当执行结束时,我最终会得到一个 POM 文件,其中不仅versionString更新了(也很好),但${env.CVS_USER}变量也会被当前用户替换。如果我现在想因为更改的版本字符串而自动签入更改的 POM 文件,我也会突然签入绝对用户信息,这对其他用户没有任何意义。

所以我的问题是,为什么 maven 中的变量插值不仅仅在 RUNTIME 上起作用,而是让 POM 文件变量声明保持不变,这样唯一的变化就是versionString这个用例中的 !

4

0 回答 0