如何使用 pm2 配置文件启动带参数的 java 应用程序?

2023-12-29

我正在尝试开始图形跳跃者 https://github.com/graphhopper/graphhopper using pm2... graphhopper是一个java应用程序,我在终端上启动它的方式是转到它的文件夹并输入以下命令:

java -jar matching-web/target/graphhopper-map-matching-web-1.0-SNAPSHOT.jar server config.yml

该应用程序可以从命令行运行良好,但我还没有成功地将其作为服务运行pm2。我正在使用的配置文件是这个(pm2 start config.json):

{
    "apps":[
    {
        "name":"graphhopper",
        "cwd":".",
        "script":"/usr/bin/java",
        "args":[
            "-jar",
            "/home/myyser/graphhopper/map-matching/matching-web/target/graphhopper-map-matching-web-1.0-SNAPSHOT.jar",
            "server",
            "config.yml"
        ],
        "log_date_format":"YYYY-MM-DD HH:mm Z",
        "exec_interpreter":"",
        "exec_mode":"fork"
     }
   ]
}

我百分百确定我在这里犯的错误是我写的方式"server", "config.yml"参数...正在研究pm2 logs graphhopper我可以看到这些参数根本没有被识别......我也尝试调整它的完成方式,但我没有找到正确的解决方案。我知道如何使用启动java应用程序pm2没有参数。但是我怎样才能用一个带有参数的java应用程序来做到这一点呢?graphhopper?


正如评论中所述,可以通过创建 bash 脚本并运行它来解决此问题pm2而不是直接运行java应用程序...使用的bash脚本是文件graphhopper.sh如下:

#!/bin/bash
java -jar matching-web/target/graphhopper-map-matching-web-1.0-SNAPSHOT.jar server config.yml

并将其作为服务启动pm2:

pm2 start graphhopper.sh --name=graphhopper
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 pm2 配置文件启动带参数的 java 应用程序? 的相关文章

随机推荐