用bat去执行一个可执行jar文件

本文介绍了如何在CMD环境中编译并运行一个依赖外部jar包的Java程序,通过编写bat批处理文件简化执行流程。详细步骤包括创建Person类并打包成jar,编写Action类调用Person类的方法,然后在CMD中编译和运行Action类,最后将这些步骤整合到bat文件中。

目的:

1. cmd环境编译和运行一个Java程序

2. Java程序依赖一个外部类,即jar

3. 将执行命令写入bat文件以方便执行

 

过程:

1. 定义Person类,类中包含sayHello()方法,和Walk()方法

2. Person类文件导出为jar包,以供Action类引用

3. 定义Action类,类中包含main()方法,main()方法中,初始化Person实例,并调用其方法

 

 

目录:

 

Bin: 存放被编译好的class文件

Lib:存放第三方依赖jar

Src:存放源码文件即java文件

 

 

1. 编写Person.javajar包放入lib文件夹中

 

Person.java

 

package  demo;

 

public class Person {

 

public String SayHello(){

 

return "Hello World!";

 

}

 

public String Walk(){

 

return "I am walking!!";

 

}

 

}

 

 

打jar包命令:

Cd  %cd%

Javac -cp %classpath% src\Person.java -d bin\

Jar -cvf  lib\Person.jar  bin\demo\Person.class

此时可在bin\demo文件夹下看到Person.classLib文件中看到Person.jar

 

编写Action文件

Action.java

//package mainTest;

 

import demo.Person;

 

public class Action {

 

public static void main(String[] args) {

Person p = new Person();

System.out.println(p.SayHello());

System.out.println(p.Walk());

}

}

 

Action.java 中不能带package信息。我认为可能因为package本身就是一种相对路径的寻址方式,调用的时候容易爆NoClassDefFound的错误。在eclipse或其他ide中 会自动管理各种文件之间的关系,所以用惯了ide之后对于这些细节本身就很容易忽略且没有头绪。

 

 

cmd编译运行Action

cd  %cd%

Javac -cp .;lib\Person.jar src\Action.java -d bin\

cd bin

Java -cp .;\..\lib\Person.jar Action

解释一下:

1. %cd%意思是进入到当前目录下

2. -cp指定classpath路径。最前面的 英文点.  意思是继承系统的classpath路径,如果不继承,则classpath被重置,Java环境的一些基础类无法读取,则报错。

3. 运行的时候要进入到bin目录,否则报错。我也不知道为什。


  

编写bat文件

cd %cd%

del bin\*.class

 

set MY_CLASSPATH=.

set MY_CLASSPATH=%MY_CLASSPATH%;Person.jar

 

javac -cp %MY_CLASSPATH% Action.java

 

pause

cd bin

java -cp %MY_CLASSPATH% Action

 

pause

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值