jar 文件和 init.d 服务的符号链接

jar 文件和 init.d 服务的符号链接

我正在按照“作为 init.d 服务安装(系统 V)” 的章节Spring Boot 参考指南

我无法在init.dCentos 6.6 上创建指向我的 Java 应用程序的符号链接。

我跑完之后

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

当我尝试时

 chmod 500 /etc/init.d/myapp

我明白了

chmod: cannot operate on dangling symlink `myapp'

当我更改常规文件而不是符号链接的权限时,如下所示:

chmod 500 myapp.jar 

当然,符号链接仍然损坏,我在 中看不到它service --status-all

我还可以确认符号链接未正确创建,因为我无法使用以下命令启动我的应用程序

java -jar /etc/init.d/myapp

注意:当我将整个罐子复制到时,/etc/init.d/一切正常。

我什至不知道创建一个 jar 文件的符号链接是否被认为是“好”,还是应该将其复制到 /etc/init.d/ ?

答案1

要启动应用程序,您不需要链接 jar 文件。您要启动的二进制文件是 java,并以 jar 文件作为参数。为此,您需要创建一个 init 文件(或使用 systemd 的系统的 sysyemd 单元文件)。该脚本应至少处理一个启动和一个停止参数来启动和停止您的应用程序。然后,启动将设置您的 java 主目录和应用程序所需的其他项目,然后运行 ​​java 命令。有许多可供您使用的初始化脚本模板。

相关内容