将java程序做成可运行的jar后,又希望使用.bat文件来调用jar时,有几点需要注意的。

 1.设置path和classpath

  .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即可。

 2.设置JVM参数

@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参数。

 3.运行GUI程序

  运行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
set JAVA_OPTS=-Xms128m -Xmx256m
start javaw %JAVA_OPTS% xxx.xxx.MailClass.class

  start  javaw  %JAVA_OPTS% xxx.xxx.MailClass.class适用于启动GUI的程序。

  

  

  

使用.bat来执行Java程序基础的更多相关文章

  1. bat下执行java程序报错处理

    G:\>java -Xms128M -Xmx512M -server -Dprogram.name=b omc-sa-tdtpagent -Dfile.encoding=GBK -Duser.t ...

  2. JVM执行Java程序时内存的划分

    Java虚拟机在执行Java程序过程中会把它所管理的内存区域划分为若干个不同的数据区域. Java虚拟机所管理的内存包括以下几个运行时区域: 1.程序计数器(Program Couter Regist ...

  3. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

  4. CentOS下crontab执行java程序

    阿里云CentOS收不到邮件 在crontab里配置执行脚本,脚本用来执行java程序,死活不执行.单独执行脚本可以运行. 查看crontab的日志文件,/var/log/cron,发现没有收到cro ...

  5. sh脚本执行Java程序

    1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...

  6. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

  7. crontab中执行java程序的脚本

    测试场景说明(操作系统:centos7): 有一个bash脚本,脚本内容是执行某个java程序,该脚本为 /data/project1/start.sh crontab -e,添加了以下任务: * * ...

  8. 在命令符模式下编译并执行Java程序

    对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序.使用javac工具编译.java,使用java工具执行.class.(推荐sublime编 ...

  9. cmd执行Java程序

    先创建一个文本,里面内容为 public class hello{ public static void main(String[] arg) { System.out.println("H ...

随机推荐

  1. Vijos P1113 不高兴的津津【模拟】

    不高兴的津津 描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴.但是津津如果一天上课超过八个小时就会 ...

  2. B. Duff in Love

    B. Duff in Love time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  3. c++只能编译无法运行或许缺少命令

    -mwindows -lcomctl32 -lwinmm -lws2_32 -lodbc32 -lmysql   -lwinspool1.工具-编译选项-编译器-在连接器命令行加入以下命令:-mwin ...

  4. 微信小程序监听input输入并取值

    小程序的事件分为两种,冒泡和非冒泡事件,像<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件等非冒泡 ...

  5. Effective Java 第三版——25. 将源文件限制为单个顶级类

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  6. Windows7下远程操作虚拟机

    ⒈分别查看两台物理机的IP地址 ⒉查看虚拟机的IP地址 ⒊两台物理机和虚拟机必须都要处于同一网段,上图中我已经做过了修改(每个节点都要修改,修改见步骤6 ) ⒋打开VMware,编辑虚拟机设置(每个节 ...

  7. LAMP和LNMP,你更愿意选择谁,为什么?

    https://www.zhihu.com/question/19697826 http://www.simongong.net lamp 的全称是linux + apache + mysql +ph ...

  8. java中的左右移

    package scanner; public class LeftMove { public static void main(String[] args) { int i = 1; System. ...

  9. flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)

    前言: 在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去.在不断成长中去磨炼自己. 正文: 时间轴 flask + Python3 实现的的AP ...

  10. mysql主从同步(4)-Slave延迟状态监控

    mysql主从同步(4)-Slave延迟状态监控  转自:http://www.cnblogs.com/kevingrace/p/5685511.html 之前部署了mysql主从同步环境(Mysql ...