簡體   English   中英

將JAVA程序作為計划任務運行

[英]Running a JAVA program as a scheduled task

我試圖在Windows 7機器上每天運行一次簡單的JAVA程序。

我的代碼在NetBeans中運行良好。 如果我做了一個干凈的構建它建議:

C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"

當然,由於程序和文件之間的空間,這在DOS提示符下不起作用所以我這樣做:

C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"

這適用於DOS提示符。

我現在在Windows Scheduler中創建一個任務來運行:

C:\Program Files\Java\jdk1.7.0/bin/java

帶參數:

-jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"

當我運行它時,我看到的只是一個DOS框閃爍一秒鍾。 我希望代碼運行大約需要30秒。 代碼應該將數據持久保存到數據庫中,不會發生更新。

代碼也使用java.util.logging所以我應該看到日志條目,但我沒有。

我強烈懷疑我沒有正確運行JAVA命令,或者當從DOS提示符運行時通過調度程序運行時出現錯誤的類路徑問題。

幫助將不勝感激。 如果您之前已經看過這個並且可以對它進行排序那么會很棒。 如果您可以告訴我如何從Scheduler獲取有意義的錯誤跟蹤,那么這也非常有用。

謝謝!

我認為您可以創建一個簡單的批處理腳本,以這種方式啟動您的程序:

@echo off
REM Eventually change directory to the program directory 
cd C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\
REM run the program
"C:\Program Files\Java\jdk1.7.0\bin\java.exe" -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"

將其復制到記事本中並保存為java_script.cmd,然后直接安排此腳本而不是程序。

更改了所有字體對“SansSerif” 的引用后我解決

我在Java中使用Jasper Reports來創建PDF文件。 當我用Windows Server 2003雙擊批處理文件或調度程序但沒有使用2008的調度程序時,它工作正常。

我嘗試了許多不同的東西沒有用,所以我可能是因為Windows Server 2008阻止了訪問?

現在工作得很完美。 因此,如果您遇到問題,請檢查您正在使用的任何內容的引用。

除非您指定要運行的用戶,否則調度程序將在不同的用戶下運行。 如果它沒有以您的用戶身份運行,那么它將無法寫入您的目錄。

原始問題的真正問題是Microsoft系統上的Java安裝問題。 Java jre安裝到Program Files \\ java中。 可執行文件(java.exe) 安裝在該java \\ bin目錄中。 從命令行運行,os查找java.exe的正確位置。 從其他MS工具(例如VBA Excel或本例中的TaskScheduler)運行,它不會!

通過查看TaskScheduler工具中的任務歷史記錄,您可以看到TaskScheduler查找錯誤的位置。 雙擊某些歷史事件,其中一個將列出操作和返回代碼。 該操作將顯示TaskScheduler正在嘗試運行

"C:\\Windows\\system32\\java.EXE"

TaskScheduler歷史詳細信息

因此,將java.exe從java \\ bin目錄復制到調度程序所在的位置,現在它可以正常工作。

或者更新您的任務並提供java.exe的完整路徑。

您還可以更新環境系統路徑以在java \\ bin目錄中查找java,但這必須適用於所有用戶,有時這也是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM