我正在调度一个任务(使用windows任务调度程序),它只是运行一个批处理文件。
这个批处理运行一个jar文件(Java程序),使用一个简单的"Java -jar test.jar"。
当我从命令行手动运行脚本时,java程序运行良好,没有异常显示。
但是当任务调度执行相同的操作(调用命令)时,java程序以一个异常结束:"ClassNotFoundException"对于我的jar中的一个类。
这是什么原因?从命令行和从任务调度程序调用jar有什么不同?
谢谢。
我估计可能是"当前目录"不同,因此java根本找不到jar。在.bat的第一行中,您可以在执行java之前执行cd paththatyouexpect
吗?
您的jar
有任何依赖关系吗?此外,了解你的文件夹结构以及如何在命令行中运行它也会很有帮助。
无论如何,根据您的情况,您可以执行以下操作:
cd /path/to/exec/folder // set current directory
java -cp /all-classpath-jars/and-or-bin-folders/ test.jar your.package.MainClass [args...]