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