记一次------java命令行下运行java程序(初学的时候没学好....)

起因

  
  因最近的一个需求,自己写好了的服务端,要从消息队列自己获取消息以便后续的程序调试,麻烦的是每次不论客户端发多少消息,我这边只要去debug一次程序,就需要消费了所有的消息。。。这点很是尴尬,而消息的客户端系统是在另一个同事的手里,每次都让他帮我发消息有点不好意思…于是自己写了一个简易的客户端去主动发消息。
  经过好几次用eclipse去run 这个main方法让我觉得有几点不便:

  • 太吃内存
  • 运行不方便,每次需要手动run as
  • 每次都需要开启eclipse去调用

经过

于是就在想,有没有像python一样的方式,通过命令行的形式去调用,肯定是有的我知道。。。
因为自己当初开始学java的时候,就直接上手eclipse进行学习了,所以从来没有过用命令行的形式去执行java程序。

因为程序是提前用eclipse编译好的,也不是web项目,就是普通的java项目,其中包含了一些手动创建的包,路径如下:

这里写图片描述

然后看下我的客户端代码在哪里,以及对应编译后的class路径,以及第三方需要用到的jar包

命令行的形式去调用,需要注意的是路径问题!所以强调清楚...
1.客户端依赖的jar包
路径:D:\Workspacemar2\Test\lib

这里写图片描述

2.客户端源代码,java文件
路径:D:\Workspacemar2\Test\src\com\jms

这里写图片描述

3.编译后的class文件
路径:D:\Workspacemar2\Test\bin\com\jms

这里写图片描述

以上都齐全了,开始用批处理脚本(.bat)去写执行的代码:

这里写图片描述

java -classpath 
D:/Workspacemar2/Test/lib/jta-1.1.jar;
D:/Workspacemar2/Test/lib/log4j-1.2.14.jar;
D:/Workspacemar2/Test/lib/sinosig_jms_1.1.jar;
D:/Workspacemar2/Test/lib/wljmsclient.jar;
D:/Workspacemar2/Test/bin com.jms.sendJMS
java :前提是你配置了java的环境变量,cmd下才可以用,调用class执行的命令(有包结构的话需要用.的形式隔开)
-classpath:调用依赖的第三方jar包,每个jar包下写绝对路径,用分号隔开。

需要非常注意的是:批处理代码中的这个部分,如下图:
这里写图片描述
这里一定要跟上编译的绝对路径,否则执行的时候找不到Main类(也就是你的主方法)

结果

.bat代码如下:


java -classpath D:/Workspacemar2/Test/lib/jta-1.1.jar;D:/Workspacemar2/Test/lib/log4j-1.2.14.jar;D:/Workspacemar2/Test/lib/sinosig_jms_1.1.jar;D:/Workspacemar2/Test/lib/wljmsclient.jar;D:/Workspacemar2/Test/bin com.jms.sendJMS
#加上这行可以不让cmd的黑框消失
pause;

这里写图片描述

脚本执行java程序至此成功。。。。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页