将java程序做成可运行的jar后,又希望使用.bat文件来调用jar时,有几点需要注意的。
.bat文件中扥的内容如下:
@echo off set MY_HOME=%~dp0 set CLASSPATH=%MY_HOME%xxx.jar;%MY_HOME%..\lib\*;
set PATH=%~dp0..\jre\bin java xxx.xxx.MailClass.class
@echo off
是指在双击运行.bat文件时,窗口不打印输出信息。
set MY_HOME=%~dp0
~dp0是指.bat所在的文件夹,将文件夹路径赋值给 MY_HOME。
set CLASSPATH=%MY_HOME%xxx.jar;%MY_HOME%..\lib\*;
xxx.jar就是java程序做成可运行的jar,lib下是需要引用的jar包,多个路径之间用“;”进行分割。
set PATH=%~dp0..\jre\bin,
%~dp0..\jre\bin是java.exe,javaw.exe等程序所在的路径。如果运行.bat的电脑上是没有jre的,可以将jre和可运行的jar放在一起,这里设置合适的path能找到运行java的exe即可。
@echo off set MY_HOME=%~dp0 set CLASSPATH=%MY_HOME%xxx.jar;%MY_HOME%..\lib\*;set PATH=%~dp0..\jre\bin set PATH=%~dp0..\jre\bin
set JAVA_OPTS=-Xms128m -Xmx256m java %JAVA_OPTS% xxx.xxx.MailClass.class
set JAVA_OPTS=-Xms128m -Xmx256m 设置JVM的参数。
java %JAVA_OPTS% xxx.xxx.MailClass.class加上前面所设置的JVM参数。
运行GUI程序时,可以使用javaw.exe来代替java.exe。如果希望能显示程序运行时的输出信息,应该使用java.exe。
@echo off set MY_HOME=%~dp0 set CLASSPATH=%MY_HOME%xxx.jar;%MY_HOME%..\lib\*;set PATH=%~dp0..\jre\bin set PATH=%~dp0..\jre\binset JAVA_OPTS=-Xms128m -Xmx256m start javaw %JAVA_OPTS% xxx.xxx.MailClass.class
start javaw %JAVA_OPTS% xxx.xxx.MailClass.class适用于启动GUI的程序。
原文:http://www.cnblogs.com/lnlvinso/p/4456181.html