3

我正在調度一個簡單運行批處理文件的任務(使用Windows任務調度器)。使用任務調度器來運行java jar(從批處理文件)

該批次正在運行帶有簡單「Java -jar test.jar」的jar文件(Java程序)。

當我從命令行手動運行腳本時,java程序運行良好,並且不顯示異常。

但是當任務schedular執行相同的操作(調用該命令)時,java程序以一個異常結束:「ClassNotFoundException」表示其中一個類在我的jar中。

這是什麼方式的原因?從命令行和任務調度程序調用jar時有什麼不同?

謝謝。

回答

4

我認爲可能「當前目錄」是不同的,因此java根本找不到jar。在.bat的第一行中,在執行java之前,你可以執行cd \path\that\you\expect嗎?

2

您的jar有任何依賴性嗎?另外,瞭解什麼是文件夾結構以及如何在命令行中運行它會很有幫助。
不管怎麼說,根據您的情況,您可以沿着這些路線做一些事情:

cd /path/to/exec/folder // set current directory 
java -cp /all-classpath-jars/and-or-bin-folders/ test.jar your.package.MainClass [args...] 

這有工作,如果你指定你需要正確的一切。

相關問題