Java 可以在不知道jar文件名的情况下运行jar文件
有人能告诉我如何在不知道jar全名的情况下使用java-jar命令运行jar文件吗?我知道前缀,但jar文件的版本是动态的,所以我不想每次都更新shJava 可以在不知道jar文件名的情况下运行jar文件,java,spring,sh,Java,Spring,Sh,有人能告诉我如何在不知道jar全名的情况下使用java-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.co
#!/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 &
我刚刚修改了变量PROJECT_JAR=“batch*.*-SNAPSHOT.JAR”,但它不起作用。
在这里,jar的版本将在每次部署中更改。
请帮助您可以尝试如下设置动态变量
PROJECT_JAR=`ls -r batch*.*-SNAPSHOT.jar | head -1`
这项工作必须完成。但是,请注意命令中包含的记号(`),以启用替换。尝试以下方法执行脚本,但不提及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 &
确保部署文件夹中只有一个有效的jar。您可以检查以下内容: