如果某些程序需要定期执行,那我们可以编写bat文件来执行相关java程序。(Linux中应该是写shell文件,这个我们以后再讨论)
很多同学可能不太了解如何编写bat文件,不用担心,我们可以从最基础的开始。
@echo off
java -jar -Xms4000m -Xmx4000m -Xmn2000m test.jar
@pause
1
2
3
4
5
1
2
3
4
5
新建一个bat文件,将上面代码复制进去就可以了,保存后双击运行bat文件,就可以执行test.jar程序了。这里加了一些参数是用来初始化内存,在JAVA_OPTS Java虚拟机参数说明中我已经做了详细说明,这里就不废话了。
@pause会让d出的命令行窗口暂停,提示“请按任意键继续…”,如果不需要暂停的话,可以删掉。尤其做成定时任务的时候,如果你不删掉,一直等待,会影响第二次运行。
如果需要输出日志,如下所示:
@echo off
java -jar -Xms8000m -Xmx8000m -Xmn4000m test.jar >log\batchLog%date:~0,4%%date:~5,2%%date:~8,2%.log
运行后会生成log\batchLog20161010.log这个日志文件,在日子文件的名称中增加了时间,可以每天生成不同日志文件,便于管理。
注意点:
日志文件会在执行命令的时候生成,但是日志文件夹不会自动生成,比如上面得log文件夹,这个文件夹用于存放日志文件,如果没有事先建好,会报找不到路径的错误,导致命令执行错误。
如果你的电脑没有配置java环境,这样执行会报错的,因为找不到jdk的类库,所以为了简单点,我们还是先把java环境配置好吧。
当执行失败的时候,可以将@echo off去掉,这样命令窗口就会
打印失败信息,有助我们判断问题原因。
是这样的,对于有空格的文件,要用引号,但是START的第一个引号内的内容是标题,所以你需要这样写:start "title" "%path%\javaw" -jar **.jar
加上 -cp的参数。把你依赖的第三方jar包(比如你现在少的hibernate的)放到某个路径,然后运行参数如下:java -cp ${path}:${path}/lib/*:app9Service.jar xxx(这个是包含main方法的全类名)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)