2011-08-29 60 views
0

我得到一個線程「main」中的異常線程「main」中的異常java.lang.NoClassDefFoundError錯誤當我嘗試按計劃運行批處理文件任務在Windows Server 2008上。該批處理文件運行一個Java程序。當我經常運行批處理文件時,它運行良好。作爲計劃任務運行批處理文件時出現錯誤,win服務器2008

@ECHO OFF 

:start 

:playback 
java -cp ../lib/*; example 

:end 

星期二2011年8月30日9:29:23.19: C:\ Windows \ System32下; C:\ WINDOWS; C:\ Windows \ System32下\ W BEM; C:\ PROGRAM 文件(x86)\ Microsoft SQL Server \ 100 \ Tools \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \ ; C:\ Program Files(x86)\ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Com mon7 \ IDE \; C:\ Program Files (x86)\ Microsoft SQL Server \ 100 \ DTS \ Binn \ C:\ Program Files \ iles \ (x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PrivateAssemblies \; C:\ Wi ndows \ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files(x86)\ Windows Imaging \; C:\ Pro gram Files(x86)\ IBM \ Director \ cimom \ bin; C:\ Program Files Files (x86)\ Common Files \ ibm \ icc \ cimom \ bin; C:\ Program Files (x86)\ IBM \ Director \ bin; C:\ Program Files \ System策略文件操作 Manager 2007 \; C:\ Program文件(x86)\的Java \ jdk1.6.0_25 \ BIN; C:\鐠ogram Files \ System中心運營經理2007 \

+2

計劃作業下運行的帳戶是否具有必要的權限? – aphoria

+1

它找不到什麼類?如果找不到「main」類,那就意味着它無法加載該類引用的特定類(可能包括它本身)。您需要將所有必要的引用添加到您的類路徑中,以便它可以找到它們。 –

回答

1

運行批處理似乎並不具有其路​​徑正確配置的帳戶。你可以添加:

echo %DATE% %TIME%: %PATH% >> %TMP%\DebugFile.txt 

看到路徑中的值。

+0

我添加了帖子的輸出。 – ajoe

+0

對不起,我的意思是CLASSPATH,而不是PATH--感謝Chris!你能否改變你的腳本來輸出%CLASSPATH%並運行你的任務(不是程序,只需通過Task Scheduler執行任務)。一旦獲得輸出,檢查包含Java程序的文件夾(您嘗試運行的文件夾)是否存在於您通過腳本輸出的CLASSPATH中。如果沒有,那麼你可能需要修改CLASSPATH環境變量,但是通過控制面板 - 系統(不通過命令行 - 如果你在CommandLine中執行它,我相信在命令窗口關閉後它不會持續)。 – Arun

相關問題