Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaGit项目中存储版本_Java_Git_Version_Versioning - Fatal编程技术网

在JavaGit项目中存储版本

在JavaGit项目中存储版本,java,git,version,versioning,Java,Git,Version,Versioning,存储我的应用程序版本的最佳方式是什么 我使用在Git存储库中存储一个。但是我还想将版本号打印给程序的用户(例如,当用户调用/myprogram时--version)。因此,对于每个新版本,我还必须手动更改Java源代码中的字符串常量 有没有更智能的方法来保持Git存储库中的版本号与源代码同步?您可以使用 git describe [--abbrev=0] > localFileForTag 如果将该行放入脚本并在构建过程中运行该脚本,则可以将当前标记存储在本地文件中。您的程序只需读取和打

存储我的应用程序版本的最佳方式是什么

我使用在Git存储库中存储一个。但是我还想将版本号打印给程序的用户(例如,当用户调用
/myprogram时--version
)。因此,对于每个新版本,我还必须手动更改Java源代码中的字符串常量


有没有更智能的方法来保持Git存储库中的版本号与源代码同步?

您可以使用

git describe [--abbrev=0] > localFileForTag
如果将该行放入脚本并在构建过程中运行该脚本,则可以将当前标记存储在本地文件中。您的程序只需读取和打印文件内容。

在我们的项目中,我们使用for maven。您可以生成程序在运行时可以读取的内容,例如,包含静态字段的Java类或读取的属性文件


如果您不使用maven,那么您的构建工具肯定有一个插件,或者至少可以调用
git descripe
(如其他人所建议)。

在程序员堆栈交换上找到了一个不错的答案:如果您使用maven,您可以使用。如果你不。。。当然,无论您使用什么构建工具,都有一个插件。将版本号写入程序读取的文件。@musiKk:Cool-tip,我不想使用构建工具来完成此任务。对于
sbt
我现在找到了。你应该把它写下来作为答案,这样我就可以接受了。