Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Java 可以在不知道jar文件名的情况下运行jar文件_Java_Spring_Sh - Fatal编程技术网

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

Java 可以在不知道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

有人能告诉我如何在不知道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.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。

您可以检查以下内容: