我将使用Unix终端来构建Java项目。我已经创建了一些Shell脚本(.sh)文件来执行Jar文件。因此,这些sh文件包含Jar文件的版本名称。
现在我遇到了一个新要求,就是当我通过执行Maven命令升级我的POM版本时,同时我希望根据这个版本改变sh文件的内容。
例如:
A.sh的内容为:
我希望将A.sh的内容更改为以下形式:
我曾手动进行此更改。但从长远来看,这不是一个好主意。因此,我考虑用两种方法解决这个问题。 方法一
实现一个机制来监听上述的Maven命令,并在sh文件中查找指定的文本并替换它。 方法二
使用包含Maven命令的新Shell脚本来查找和替换A.sh文件中的文本。这个新实现的sh文件将有一个参数来接收新的版本号。 问题:
哪种方法是解决这个问题的最佳方法?如果以上方法都不行,请帮忙提供其他方法。
谢谢!
现在我遇到了一个新要求,就是当我通过执行Maven命令升级我的POM版本时,同时我希望根据这个版本改变sh文件的内容。
例如:
A.sh的内容为:
#!/bin/bash
"-jar X.3.16.0.jar"
当我执行这样的命令时:
mvn versions:set -DnewVersion= X.3.17.0-SNAPSHOT
我希望将A.sh的内容更改为以下形式:
#!/bin/bash
"-jar X.3.17.0-SNAPSHOT.jar"
我曾手动进行此更改。但从长远来看,这不是一个好主意。因此,我考虑用两种方法解决这个问题。 方法一
实现一个机制来监听上述的Maven命令,并在sh文件中查找指定的文本并替换它。 方法二
使用包含Maven命令的新Shell脚本来查找和替换A.sh文件中的文本。这个新实现的sh文件将有一个参数来接收新的版本号。 问题:
哪种方法是解决这个问题的最佳方法?如果以上方法都不行,请帮忙提供其他方法。
谢谢!