【问题标题】:java running jar via cronjobjava通过cronjob运行jar
【发布时间】:2013-07-12 19:09:54
【问题描述】:

我想设置一个 Minecraft 服务器,它会在系统启动时自动启动。

我使用以下脚本手动运行:/home/mc_ftb/server/start.sh

#! /bin/sh
java -Xms1G -Xmx3G -jar /home/mc_ftb/server/mcpc-plus-1.5.2-R0.2-forge716-B527.jar nogui

在启动时启动它的 cron 看起来像这样:

mc_ftb  Ja  ~/server/start.sh

这个结构已经和其他模组一起工作了,比如 Tekkit,但是现在有了一个 FTB (NewWorld) 模组,我得到了错误

Exception in thread "main" java.lang.NullPointerException
at cpw.mods.fml.relauncher.FMLRelaunchLog.resetLoggingHandlers(FMLRelaunchLog.java:212)
at cpw.mods.fml.relauncher.FMLRelaunchLog.configureLogging(FMLRelaunchLog.java:191)
at cpw.mods.fml.relauncher.FMLRelaunchLog.log(FMLRelaunchLog.java:242)
at cpw.mods.fml.relauncher.FMLRelaunchLog.info(FMLRelaunchLog.java:274)
at cpw.mods.fml.relauncher.FMLRelauncher.setupHome(FMLRelauncher.java:164)
at cpw.mods.fml.relauncher.FMLRelauncher.relaunchServer(FMLRelauncher.java:147)
at cpw.mods.fml.relauncher.FMLRelauncher.handleServerRelaunch(FMLRelauncher.java:45)
at net.minecraft.server.MinecraftServer.main(MinecraftServer.java:1622)
at org.bukkit.craftbukkit.Main.main(Main.java:21)

在终端中以 mc_ftb 启动脚本可以正常工作,但即使不是使用 cronjob,我也已经尝试通过 exce java ... 启动它。

脚本和 jar 文件是 +x'ed。我正在使用实际稳定的 Debian。

【问题讨论】:

  • 有没有机会忘记定义环境变量之类的?无论如何,您应该向插件作者报告错误。
  • 我不知道,安装mod时我没有设置任何变量

标签: java cron


【解决方案1】:

尝试在脚本的第一行添加“source /etc/profile”,这将首先加载环境变量。

所以替换

#! /bin/sh
java -Xms1G -Xmx3G -jar /home/mc_ftb/server/mcpc-plus-1.5.2-R0.2-forge716-B527.jar

#! /bin/sh
source /etc/profile
java -Xms1G -Xmx3G -jar /home/mc_ftb/server/mcpc-plus-1.5.2-R0.2-forge716-B527.jar

【讨论】:

  • 我试过了,现在又提到了:/home/mc_ftb/server/start.sh: 2: /home/mc_ftb/server/start.sh: source: not found
  • 奇怪你没有源码,没问题尝试添加一个 .它与源相同,因此将 'source /etc/profile' 替换为 '. /etc/profile',注意 .和'/etc/profile'
  • . /etc/profile 可以代替源代码,但问题依旧
猜你喜欢
  • 2014-08-30
  • 2017-02-19
  • 2021-03-14
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多