【发布时间】:2014-03-14 06:07:08
【问题描述】:
我有一个 Windows 批处理脚本,它启动一个 jar,该 jar 启动一个完全用 Java 编写的游戏(它是一个 runescape 客户端)。它应该可以工作。
原始批次(WIN):
@echo off
@echo Client Is loading......
@echo -----------------------
java -Xmx1000m -cp .;Theme.jar Gui 0 0 highmem members 32
pause
我为操作系统制作的 Shell 文件:
#!/bin/sh
echo Your client is loading...
echo --------------------
java -Xmx1000m -cp Theme.jar Gui 0 0 highmem members 32
终端错误:
Your Client is loading...
--------------------
Exception in thread "main" java.lang.NoClassDefFoundError: Gui
Caused by: java.lang.ClassNotFoundException: Gui
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
我该如何修复它或制作一个与批处理完全相同并实际运行的 shell 脚本?
【问题讨论】:
-
为什么将当前文件夹包含在批处理中的类路径中,而不包含在 shell 脚本中?我在批处理中说
-cp .;Theme.jar,但在shell文件中说-cp Theme.jar。 -
好吧,如果我这样做,我会收到此错误pastie.org/8918011(发布时间太长)
标签: java shell batch-file