可以在不知道 jar 文件名的情况下运行 jar 文件

ANP*_*ANP 4 java spring sh

任何人都可以告诉如何使用 java -jar 命令运行 jar 文件而不知道 Jar 的全名,我知道前缀,但 jar 文件的版本是动态的,所以我不想为每个部署更新我的 sh

 #!/bin/bash

PROJECT_HOME=/opt/services/testing-batchp
PROJECT_JAR=batch-1.0.8-SNAPSHOT.jar
[ -f /etc/environment ] && . /etc/environment

nohup java -jar -Dspring.config.location=${PROJECT_HOME}/config/ ${PROJECT_HOME}/${PROJECT_JAR} $1 $2 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

我刚刚修改了变量 PROJECT_JAR="batch*.*-SNAPSHOT.jar" 但它不起作用。这里 jar 的版本在每次部署中都会改变。请帮忙

小智 5

尝试以下方法来执行脚本而不提及 jar 的发行版本。

 #!/bin/bash

PROJECT_HOME=/opt/services/testing-batchp
PROJECT_JAR=batch-*.*.jar
[ -f /etc/environment ] && . /etc/environment

nohup java -jar -Dspring.config.location=${PROJECT_HOME}/config/ ${PROJECT_HOME}/${PROJECT_JAR} $1 $2 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

确保部署文件夹中只有一个有效的 jar。