Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 从脚本启动Spring引导应用程序_Java_Spring_Spring Boot - Fatal编程技术网

Java 从脚本启动Spring引导应用程序

Java 从脚本启动Spring引导应用程序,java,spring,spring-boot,Java,Spring,Spring Boot,使用普通的SpringMVN命令,我可以从命令行启动SpringBoot应用程序,并使用Control+c终止它。不过,我已经创建了一系列服务,稍后将对这些服务进行dockerize。目前,它们是由mvn生成的普通JavaJAR文件。如何使用python脚本或Bash脚本逐个启动它们,然后使用脚本终止它们。是否有某种方式可以让我启动它,脚本不会被阻止,应用程序将有一个名称,我可以稍后使用该名称停止应用程序 您可以使用以下命令(在bash脚本中)启动每个jar: 然后,可以使用以下命令(在bash

使用普通的SpringMVN命令,我可以从命令行启动SpringBoot应用程序,并使用Control+c终止它。不过,我已经创建了一系列服务,稍后将对这些服务进行dockerize。目前,它们是由mvn生成的普通JavaJAR文件。如何使用python脚本或Bash脚本逐个启动它们,然后使用脚本终止它们。是否有某种方式可以让我启动它,脚本不会被阻止,应用程序将有一个名称,我可以稍后使用该名称停止应用程序

您可以使用以下命令(在bash脚本中)启动每个jar: 然后,可以使用以下命令(在bash脚本中)终止每个进程:
pkill
将终止包含所提供名称的所有进程。请注意,您的关键字只标识您的进程,这样您就不会错误地终止其他进程。

我将按照安装
Spring Boot
应用程序作为
Unix/Linux
服务

您只需将此依赖项添加到
pom.xml

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>

org.springframework.boot
):

假设您在中安装了Spring引导应用程序
/var/myapp
,将Spring启动应用程序作为init.d服务安装 只需创建一个符号链接:

$sudo ln-s/var/myapp/myapp.jar/etc/init.d/myapp

一旦安装, 您可以按常规方式启动和停止服务。例如,在 基于Debian的系统:

$service myapp start


然后,您可以创建一个bash脚本,以干净的方式启动、停止或重新启动应用程序

此脚本使自动查找最新版本的jar文件变得简单:


您可以使用脚本来实现这一点。例如,
startup.sh
可能如下所示。它将启动应用程序并将进程id写入
/path/to/app/pid.file

#!/bin/bash
nohup java -jar /path/to/app/hello-world.jar > /path/to/log.txt 2>&1 &
echo $! > /path/to/app/pid.file
一个
shutdown.sh
可能是这样的

#!/bin/bash
kill $(cat /path/to/app/pid.file)
你可以在我的帖子中找到更多细节

./bootstrap.sh start
./bootstrap.sh stop
./bootstrap.sh restart
#!/bin/bash
nohup java -jar /path/to/app/hello-world.jar > /path/to/log.txt 2>&1 &
echo $! > /path/to/app/pid.file
#!/bin/bash
kill $(cat /path/to/app/pid.file)