Shell 如何在start.sh脚本中获取jar名称

Shell 如何在start.sh脚本中获取jar名称,shell,sh,Shell,Sh,我正在部署spring boot app+maven。我已经使用link编写了一个start.sh脚本 jar名称可以根据版本进行更改,因此我不想在start.sh中硬编码jar名称,比如-jar../lib/gs-spring-boot-0.1.0.jar 如何使其依赖于jar名称?任何可能的变量替换?如果您知道只有一个JAR文件,那么像这样的东西怎么样 JAR_FILE=`ls ../lib/gs-spring-boot-*.jar` java -jar ${JAR_FILE} 如果你知道

我正在部署spring boot app+maven。我已经使用link编写了一个start.sh脚本

jar名称可以根据版本进行更改,因此我不想在start.sh中硬编码jar名称,比如-jar../lib/gs-spring-boot-0.1.0.jar


如何使其依赖于jar名称?任何可能的变量替换?

如果您知道只有一个JAR文件,那么像这样的东西怎么样

JAR_FILE=`ls ../lib/gs-spring-boot-*.jar`
java -jar ${JAR_FILE}

如果你知道只有一个JAR文件,那么像这样的东西怎么样

JAR_FILE=`ls ../lib/gs-spring-boot-*.jar`
java -jar ${JAR_FILE}

您必须自动创建start.sh脚本,并将正确的jar名称粘贴到那里。请查收

示例:


结合maven assembly,您可以创建一个tar.gz或zip存档,其中包含您需要的所有内容。

您必须自动创建start.sh脚本,并将正确的jar名称粘贴到其中。请查收

示例:


结合maven assembly,您可以创建一个tar.gz或zip归档文件,其中包含您需要的所有内容。

。不要手工编写外壳包装。在spring boot应用程序中使用appassembler不是一个好主意。因为它将远远超出需要…@khmarbaise,只有在您要求的情况下。shell包装的自动化非常有价值。@Thorbjørnravandersen我知道appassembler是如何工作的,因为我是维护人员之一……但我不推荐它用于此目的……@khmarbaise我个人的观点是,由于Java尚未找到跨平台分发单jar部署的好方法(jar类加载器中的嵌入式图标和jar正是所需要的)启动程序脚本是必需的,但不应手写。据我所知,唯一的启动脚本生成器是appassembler,因此即使只是用于此目的,也应使用它。除此之外,请写一个更好的答案,以便OP可以选择最好的。这一点。不要手写外壳包装。将appassembler用于spring引导应用程序不是一个好的idea..因为它将远远超过需要…@khmarbaise,如果你要求的话。外壳包装的自动化是非常有价值的。@Thorbjørnravandersen我知道appassembler是如何工作的,因为我是维护者之一…但我不推荐它用于此目的…@khmarbaise我个人的意见是,由于Java还没有找到一个好的方法来跨平台分发单个jar部署(需要一个嵌入式图标和jar类加载器中的jar)启动脚本是必需的,但不应该是手写的。据我所知,唯一的启动脚本生成器是appassembler,因此即使只是为了这个目的,也应该使用它。除此之外,请写一个更好的答案,以便OP可以选择最好的。或者
ls | grep
或者
ls | grep
使用shell扩展:
-jar../lib/gs spring boot-*.jar
使用shell扩展:
-jar../lib/gs spring boot-*.jar