最近在看disni,一个基于java语言的RDMA库,给的代码需要在终端编译运行,以前写java程序都是用IDE写,对于如何在终端编译和运行java程序一窍不通啊。
被disni虐了几天,对在终端编译java程序也有了认识,把之前记录的笔记整理了一些出来。
最简单的情况
最简单的情况是指只有一个.java文件,没有import别的jar包,没有package。比如:
这种情况下最简单,直接使用javac命令就可以了
依赖其他.jar文件的情况
这种,在idea或者eclipse下,我们通过在项目中引入相关的jar包就可以了,但是在终端编译时需要在javac指令后面添加相应的参数才可以。
上图是一个对excel解析的程序,可以看到项目中引入了jxl.jar和poi-3.15.jar文件,我们在终端对Form.java进行编译,首先进入进入src目录
我们引入两个jar包还好,如果引入多个jar包自然是不合理的。可以采用下面简单一点的办法
通过-Djava.ext.dirs参数可以指定所有引入jar包所在的目录,并一次把所有的.java文件都编译了。不过这里竟然有个小坑,指定路径的时候使用~竟然会找不到。。。
在运行的时候,我们依然要指定引入jar所在的位置。