2011-08-29 65 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

相关问题