【问题标题】:Is there a way to execute a .jar file through a shell script? (Raspbian)有没有办法通过 shell 脚本执行 .jar 文件? (树莓派)
【发布时间】:2020-05-23 20:23:11
【问题描述】:

一般情况

使命

我想通过单击桌面图标(或 .desktop 文件)来运行 java -jar -Xmx2G -Xms2G /home/pi/minecraft/server/spigot-1.15.2.jar
当我在终端中输入命令时,它可以工作。

问题

终端崩溃。

我尝试过的

我创建了一个执行 .sh 文件的 .desktop 文件。
我的 .desktop 文件:

[Desktop Entry]
Version=1.0
Name=Spigot
Comment=
Exec=/home/pi/Desktop/launch_spigot_server.sh
Icon=/home/pi/Pictures/spigot.png
Terminal=true
Type=Application
Categories=Utility;Application;
X-KeepTerminal=true

我的 .sh 文件:

#!/bin/bash
pkexec java -jar -Xmx2G -Xms2G /home/pi/minecraft/server/spigot-1.15.2.jar

(“pkexec”,因为我认为我需要 sudo 权限才能运行 .jar 文件)

结果

终端实际上​​打开并执行了 .jar 文件,它显示 Loading libraries, please wait...,然后抛出某种错误并立即崩溃。

这是我在 3 小时内到达的最远距离

【问题讨论】:

  • “我认为我需要 sudo 权限才能运行 .jar 文件”一般来说不,你不需要。
  • 无论如何,当您从任何其他目录或仅从特定目录手动启动该命令行时,它是否有效?
  • 是的,当我从其他目录手动启动它时它可以工作......
  • 试试javaw,它是相同的,但不需要控制台
  • @FedericoklezCulloca 在这种情况下,我需要在 java -jar ... 命令之前添加 sudo 。服务器无论如何都会启动,但没有 sudo 它会显示一些错误:main ERROR Unable to locate appender "File" for logger config "root"

标签: java linux shell minecraft


【解决方案1】:

先进入目录,然后执行java -jar...命令

#!/bin/bash
cd /home/pi/minecraft/server/
java -jar -Xmx2G -Xms2G spigot-1.15.2.jar

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多