VIM学习笔记 编译源码(Compile Code)-Java

秉承Java语言“一次编写,处处运行(write once, run anywhere)”的宗旨。Java程序需要虚拟机JVM(Java Virtual Machine)来负责解释执行,而并非操作系统。也就是说,需要针对不同的操作系统安装不同版本的运行环境JRE(Java Runtime Environment)来运行Java程序。

如果需要开发Java程序,那么则需要安装JDK (Java Development Kit),以完成下图所示的编译和执行过程。

Java-jvm-compile

以下操作在Fedora31下验证成功。在不同的操作系统中,以下命令和参数也可能略有不同,请根据实际情况进行调整。

安装Java

使用以下命令安装JDK(具体步骤可以参考Installing Java);

$ sudo dnf install java-1.8.0-openjdk-devel.x86_64

如果需要使用JWS(Java Web Start)以运行JNPL文件,那么还需要安装IcedTea-Web

$ sudo dnf install icedtea-web

配置Java

如果安装了多个版本的JDK、JRE、和JWS,那么可以使用以下命令进行切换:

$ alternatives --config java

alternatives--config-java

$ alternatives --config javac

$ alternatives --config javaws

测试Java

使用以下命令,查看当前Java版本:

$ java -version

java-version

使用以下命令,查看当前Javac版本:

$ javac -version

javac-version

使用以下命令,查看当前Javaws版本:

$ javaws http://nextmidas.techma.com/nxm343/htdocs/localshell.jnlp

您可以尝试打开本地的JNPL文件,或者使用IcedTea-Web-Tests提供的测试网址。

javaws-test

设置编译器

使用以下命令,设置'makeprg'选项为javac命令:

:set makeprg=javac\ %

通过在vimrc文件中增加以下自动命令,可以为Java语言文件设置编译快捷键:

augroup make_java
	au!
	au FileType java  set makeprg=set makeprg=javac\ %
	au FileType java  map <buffer> <leader><space> :w<cr>:make<cr>
augroup end

编译Java

使用以下命令,将根据'makeprg'选项进行编译,并生成与.java文件同名的.class字节码文件:

:make

如果编译出现错误,将在QuickFix中显示错误列表,并自动跳转到第一个错误处:

javac_error_quicklist

如果希望在编译时保持当前光标位置不变,那么可以使用以下命令:

:make!

使用:cw命令,将打开quickfix窗口。使用:cp命令,跳转到上一个错误;使用:cn命令,跳转到下一个错误。关于QuickFix操作的更多信息,请参阅QuickFix章节。

在修复错误并成功编译之后,将显示命令输出:

javac_success_output

使用以下命令,首先Java虚拟机将编译好的.class文件加载到内存,然后针对其中的Java类进行解释执行:

:!java %:r

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>