Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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
如何在Linux中启动时自动启动基于Gradle的Java应用程序/守护进程?_Java_Linux_Bash_Amazon Ec2_Gradle - Fatal编程技术网

如何在Linux中启动时自动启动基于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的Java应用程序。该应用程序实际上是一个守护进程。在我的本地框中,我可以通过运行以下命令启动守护程序:

> 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在生产环境中运行应用程序,而不仅仅是构建它吗?