2010-11-02 185 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的會話中運行遠程程序。