日期:2014-05-17  浏览次数:21305 次

Windows定时调用bat执行Java程序

目的:? 在windows xp下编写bat文件,定时调用java工程中的main.执行特定的程序.

?

环境目录模拟:

D:\Program Files\Apache\deploy\XXXXXXXX
-- conf文件夹
-- lib文件夹
-- logs文件夹
-- run.bat文件

?

?

conf文件夹主要存储一些程序需要的配置文件;

lib文件夹主要存储程序执行的jar包和依赖的jar包;

logs文件夹主要存储日志文件;

run.bat为这里需要写的bat调用命令如下;

?

# 切换到当前的bat文件系统的位置
cd /d
# 设置classpath
set classpath=./lib/slf4j-log4j12-1.5.0.jar;./lib/xxxxx.jar;./lib/log4j-1.2.12.jar;./lib/sqljdbc4.jar
# 调用classpath中的一个main类,类CrawlerMainClass含有main方法
java com.greatwqs.CrawlerMainClass

?

?

./lib/xxxxx.jar打包时,需要制定启动的main方法,最好用工具打包,如eclipse;

正常情况下./lib/xxxxx.jar包中含有一个清单文件夹META-INF,

此文件夹中含有文件MANIFEST.MF,此文件中的内容形如:

Manifest-Version: 1.0
Main-Class: com.greatwqs.CrawlerMainClass

?

这样在调用命令时java com.greatwqs.CrawlerMainClass才能执行.?

?

上面java的环境和bat命令结束,下面设置windows中的定时任务.

?

?

?

windows的定时调用此run.bat文件

?

操作如下(xp): start-->All programs-->Accessories-->System Tools-->Scheduled Tasks

?

Scheduled Tasks的面板中 new --> Scheduled Task -->产生一个task-->properties-->

task面板设置:

a. run下brower到上面的run.bat文件

b. set Password 设置密码,通常是登陆的密码;

Schedule面板设置:

a. Advanced? 可以设置调用此run.bat的 starttime, endtime, 是否重复运行(执行时间Duration, 每隔多少时间执行一次)设置;

?

这样一个基于bat调用java设置完毕; 当上面设置好后,windows会自动定时的调用run.bat脚本;在调用时windows桌面窗口中会出现bat调用的黑框.同时在start-->All programs-->Accessories-->System Tools-->Scheduled Tasks面板中相应的任务的状态会变化.

1 楼 greatwqs 2011-12-14  
# 切换到当前的bat文件系统的位置
cd /d
# 设置classpath
set classpath=./lib/slf4j-log4j12-1.5.0.jar;./lib/xxxxx.jar;./lib/log4j-1.2.12.jar;./lib/sqljdbc4.jar
# 调用classpath中的一个main类,类CrawlerMainClass含有main方法
java com.greatwqs.CrawlerMainClass