如何在Linux中启动时自动启动基于Gradle的Java应用程序/守护进程?
我有一个基于Gradle的Java应用程序。该应用程序实际上是一个守护进程。在我的本地框中,我可以通过运行以下命令启动守护程序:如何在Linux中启动时自动启动基于Gradle的Java应用程序/守护进程?,java,linux,bash,amazon-ec2,gradle,Java,Linux,Bash,Amazon Ec2,Gradle,我有一个基于Gradle的Java应用程序。该应用程序实际上是一个守护进程。在我的本地框中,我可以通过运行以下命令启动守护程序: > gradle run 这很好,但我需要的是一种在主机重新启动时启动守护进程的方法。我正在尝试让它在EC2实例上工作 我正在开发一个插件来实现这一点。主要组件是生成init.d脚本,另一个组件是将它们打包到DEB或RPM中。我还没有将它与应用程序插件本身联系起来,但它很接近,它被称为nebula ospackage daemon插件:。您可以执行以下操作:
> gradle run
这很好,但我需要的是一种在主机重新启动时启动守护进程的方法。我正在尝试让它在EC2实例上工作 我正在开发一个插件来实现这一点。主要组件是生成init.d脚本,另一个组件是将它们打包到DEB或RPM中。我还没有将它与应用程序插件本身联系起来,但它很接近,它被称为nebula ospackage daemon插件:。您可以执行以下操作:
buildscript {
repositories { jcenter() }
dependencies {
classpath 'com.netflix.nebula:nebula-ospackage-plugin:1.12.+'
}
}
apply plugin: 'application'
mainClassName = "sample.Main"
apply plugin: 'os-package'
apply plugin: 'nebula-ospackage-daemon'
daemon {
command = "/opt/myapp/bin/ospackage-application"
}
ospackage {
into('/opt/myapp')
with(applicationDistribution)
}
我在找类似的东西 也许您想看看类似于Gradle应用程序插件,但也可以将应用程序安装为init.d服务的
提出了一个不同的解决方案(简单脚本)。这在很大程度上不是等同于“如何在启动时运行任意命令?”。可能重复:。您能澄清一下吗?您正在使用gradle在生产环境中运行应用程序,而不仅仅是构建它吗?