最近初步接触了linux,感觉很有新鲜感。之前在windows下干过的事情也便想到在linux环境下实现一下。正好手头在编java,就想既然java可以在windows的DOS操作下运行,是不是也可以在linux的terminal下编译执行呢?好奇心是最好的老师,网上丰富的资源帮助我很快的实现了这一操作。具体实现过程如下:
- 安装JDK
要编译执行java代码,首先需要有支持java的系统程序,所谓的jdk,java development kit就是干这个用的。无论是在windows还是Linux下,要编译和执行java代码,jdk都是必备的。(关于jdk和jre的区别,详见博文:)。jdk对编程人员屏蔽了两种系统的不同,使java可以实现“一次编写到处编译”。JDK包,可以从官网进行下载,根据不同的系统下载不同的安装包。安装的方法,也根据Linux的版本不同也略有不同,我使用的是RedHat Linux(RHEL 6)系统,下载相应的.rpm 文件,像安装其他软件一样进行安装即可:
rpm -ivh jdk_8u25.rpm
使用其他系统,如Ubuntu可下载.tar.gz压缩包进行安装,网上资料很多,这里不进行赘述。
- 生成JAR文件
装好了jdk我们就可以将代码从windows下拷到linux下了。这里我们不直接将.java代码复制到目的目录下,而是先生成jar包,再进行转移。
这里我们使用Eclipse实现这一操作。(Eclipse和JDK是什么关系?详见博文:)在eclipse下把项目源码导出成jar包,可以选中项目右键->export->jar 。生成所需的1.jar,再准备好额外的一些jar包,如常用的lucene、mysql-connecor的一些jar包(也可将这些包打成一个包),将这些包一起复制到linux的同一目录下(或上传到linux服务器)。
除此之外,还要把java代码的主类文件(含有main函数,如main.java)也复制到同一目录下
- 编译执行
执行。先要执行javac,生成.class文件。格式如下:
javac -cp /home/username/../1.jar:/home.username/../2.jar:/home.username/../3.jar main.java
这样java程序就运行了。