java - launchd:管理 Java Jar

标签 java macos launchd launchctl

我有以下启动配置(存储在 acme.plist 中),我加载并开始使用 launchctl load acme.plistlaunchctl start acme.plist分别。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.acme</string>

    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/java</string>
        <string>-jar /usr/local/acme/acme-latest.jar</string>
    </array>

    <key>StandardErrorPath</key>
    <string>/tmp/acme-error</string>
</dict>
</plist>

每当我尝试运行它时,我都会在 /tmp/acme-error 中得到以下信息:
Unrecognized option: -jar /usr/local/acme/acme-latest.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

但是从 bash 运行时我绝对没有问题。有任何想法吗?

最佳答案

您应该像这样更改配置:

<key>ProgramArguments</key>
<array>
    <string>/usr/bin/java</string>
    <string>-jar</string>
    <string>/usr/local/acme/acme-latest.jar</string>
</array>

关于java - launchd:管理 Java Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927956/

相关文章:

java - Prim算法实现错误,Empty Heap

java - 如何始终使用 Selenium 从输入元素中删除默认文本?

macos - 如何知道特定的 launchd.plist 文件位置?

macos - pandoc via launchd——获取错误 : "pdflatex not found. pdflatex 是 pdf 输出所必需的

java - SWIG - 如何忽略我不需要公开的 C++ 类(在 Java 中)?

java - 静态方法如何返回不同的实现类?

macos - 错误: libfdk_aac must be installed

macos - 如何在 Mac 上安装 reptyr?

c++ - OpenCL 代码的 malloc 问题 - OS X 上 mach_vm_map 的大小很大

objective-c - Launch Daemon 可以运行哪些类型的文件?