目的:? 在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面板中相应的任务的状态会变化.