2010-11-02 77 views
0

我运行脚本的start.bat问题执行Java

java -server -Xmx1024m -Xbootclasspath/p:"/Java/Server Applet/bin" applet.Server 

当我执行从SSH终端./start.bat

我得到这个:

Exception in thread "main" java.lang.NoClassDefFoundError: applet/Server 
Caused by: java.lang.ClassNotFoundException: applet.Server 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
. Program will exit.in class: applet.Server 

然而,当我使用vncviewer登录,并运行它运行良好的脚本。什么可能是错的?

回答

2

有错误似乎表明类路径错误的Java无法找到此文件:

/的Java /服务器小程序/ bin中/小程序/ Server.class

而像Chochos writes,你如果通过SSH连接,则不能在此程序中使用任何图形(awt,swing,applet)。虽然这不是这个错误似乎抱怨。

如果在无头的模式下运行的Java通过添加下面的命令行参数,您可以使用SSH模式中的某些图形功能:

-Djava.awt.headless=true

但这并不充分图形访问:

Sun Developer network: Using Headless Mode in the Java SE Platform:

在java.awt.Toolkit中的一个许多方法nd java.awt.GraphicsEnvironment类除字体,图像和打印外,还需要显示设备,键盘和鼠标的可用性。但是一些类,如Canvas或Panel,可以在无头模式下执行。自J2SE 1.4平台以来,无头模式支持已可用

1

您需要使用ssh -X让远程会话使用您的X服务器。使用VNC您可以使用本地图形环境(远程服务器),所以没有问题,但使用ssh,您将在没有GUI的会话中运行远程程序。