用环境设置的可执行路径编写系统单元文件

罗伯特·蒙泰努(Robert Munteanu)

我正在为Java应用程序编写一个systemd单元文件,我想控制用于启动它的Java版本。我的(简化的)服务文件是

[Service]
Type=simple
EnvironmentFile=%h/Documents/apps/app/app-%i/app.cfg
ExecStart=${JAVA_HOME}/bin/java ${JAVA_OPTS} -jar %h/Documents/apps/app/app-%i/myapp.jar
SuccessExitStatus=143

尝试启动时,我收到错误提示

Apr 28 12:43:37 rombert systemd[1613]: [/home/robert/.config/systemd/user/[email protected]:7] Executable path is not absolute, ignoring: ${JAVA_HOME}/bin/java ${JAVA_OPT
Apr 28 12:43:37 rombert systemd[1613]: [email protected] lacks both ExecStart= and ExecStop= setting. Refusing.

我知道这JAVA_HOME是正确的; 如果我将ExecStart更改为开头,/usr/bin/java然后添加一些内容,就像-DsomeOption=${JAVA_HOME}我看到的一样。

显而易见的解决方法是创建一个包装器脚本,但是我觉得它超出了使用服务文件的目的。

如何使用单元文件为Java应用程序设置JAVA_HOME?

维兰德

在systemd.service(5)的“命令行”部分中:

请注意,第一个参数(即要执行的程序)可能不是变量。

我本来建议使用实例说明符%i(您可以在systemd.unit(5)中阅读有关它的更多信息),但是(现在我们回到systemd.service(5)):

命令行的第一个参数(即要执行的程序)可能不包含说明符。

我认为目前最好的选择是按照Warren Young的建议创建一个封装Java二进制代码执行的shell脚本,或者您可以像下面的“命令行”部分中的shell命令行示例一样直接执行ExecStart shell。 systemd.service(5)具有以下示例:

ExecStart=/bin/sh -c 'dmesg | tac'

因此,您可以(未试用)进行以下操作:

ExecStart=/bin/sh -c '${JAVA_HOME}....'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Emacs的配置文件上为程序包设置可执行路径?

来自分类Dev

Windows Update可执行路径

来自分类Dev

如何找到php的可执行路径?

来自分类Dev

如何通过此pid执行的文件获取pid及其可执行路径信息?

来自分类Dev

错误CS2012:无法打开对<可执行路径被拒绝>的<可执行路径>访问

来自分类Dev

无法获取.net core 3.0单个文件'/ p:PublishSingleFile = true'的原始可执行路径

来自分类Dev

如何从.desktop文件中的可执行路径获取期望的进程名称

来自分类Dev

设置可执行文件的文件夹路径

来自分类Dev

驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

来自分类Dev

设置系统单元的路径

来自分类Dev

C#:如何获取给定无路径文件时Process.Start将使用的可执行路径?

来自分类Dev

C#:如何获取给定无路径文件时Process.Start将使用的可执行路径?

来自分类Dev

可执行路径必须在Python的PATH中

来自分类Dev

Bash选项获取已解析的可执行路径?

来自分类Dev

通过可执行路径限制进程的CPU时间

来自分类Dev

删除特定可执行路径的bash哈希

来自分类Dev

在 C++ 中使用 AssocQueryString 获取可执行路径

来自分类Dev

.desktop文件。正确的执行路径

来自分类常见问题

使用Java的Selenium-驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

来自分类Dev

带有Chrome驱动程序的Selenium网格(WebDriverException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置)

来自分类Dev

java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动程序可执行文件的路径;

来自分类Dev

TestNG Selenium Java -- java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置

来自分类Dev

org.openqa.selenium.WebDriverException:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;

来自分类Dev

Selenium:-java.lang.IllegalStateException: 驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置

来自分类Dev

线程“main”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由:系统属性设置

来自分类Dev

Fsx执行路径

来自分类Dev

JavaScript执行路径

来自分类Dev

如何为nix上的systemd单元文件指定可执行文件的路径?

来自分类Dev

如何为路径上的所有可执行文件编写bash完成脚本?

Related 相关文章

  1. 1

    如何在Emacs的配置文件上为程序包设置可执行路径?

  2. 2

    Windows Update可执行路径

  3. 3

    如何找到php的可执行路径?

  4. 4

    如何通过此pid执行的文件获取pid及其可执行路径信息?

  5. 5

    错误CS2012:无法打开对<可执行路径被拒绝>的<可执行路径>访问

  6. 6

    无法获取.net core 3.0单个文件'/ p:PublishSingleFile = true'的原始可执行路径

  7. 7

    如何从.desktop文件中的可执行路径获取期望的进程名称

  8. 8

    设置可执行文件的文件夹路径

  9. 9

    驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

  10. 10

    设置系统单元的路径

  11. 11

    C#:如何获取给定无路径文件时Process.Start将使用的可执行路径?

  12. 12

    C#:如何获取给定无路径文件时Process.Start将使用的可执行路径?

  13. 13

    可执行路径必须在Python的PATH中

  14. 14

    Bash选项获取已解析的可执行路径?

  15. 15

    通过可执行路径限制进程的CPU时间

  16. 16

    删除特定可执行路径的bash哈希

  17. 17

    在 C++ 中使用 AssocQueryString 获取可执行路径

  18. 18

    .desktop文件。正确的执行路径

  19. 19

    使用Java的Selenium-驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

  20. 20

    带有Chrome驱动程序的Selenium网格(WebDriverException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置)

  21. 21

    java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动程序可执行文件的路径;

  22. 22

    TestNG Selenium Java -- java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置

  23. 23

    org.openqa.selenium.WebDriverException:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;

  24. 24

    Selenium:-java.lang.IllegalStateException: 驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置

  25. 25

    线程“main”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由:系统属性设置

  26. 26

    Fsx执行路径

  27. 27

    JavaScript执行路径

  28. 28

    如何为nix上的systemd单元文件指定可执行文件的路径?

  29. 29

    如何为路径上的所有可执行文件编写bash完成脚本?

热门标签

归档