Linux终端编译java程序

最近在看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所在的位置。
这里写图片描述

源码在package中的情况

上面的Form.java直接在src的根目录,所以在编译的时候还是比较简单的,当源码在src下其他目录时,编译的时候也只需要带上package路径就可以了。

这里写图片描述

现在Form.java在/src/com/lab2/ecnu/目录下,我们编译的时候还是在src目录进行。

这里写图片描述

这里有一些注意的是,我们甚至可以直接到src/com/lab2/ecnu/目录下编译.java文件,但是不可以在src/com/lab2/ecnu/目录下执行。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值