假设Java类被打包,文件目录如下:
~/proj/bin/com/example/package/foo.class
~/proj/bin/com/example/package/foo1.class
~/proj/src/com/example/package/foo.java
~/proj/src/com/example/package/foo1.java
类 foo 需要使用类 foo1。在终端中,这是我如何编译
cd ~/proj/bin
javac -d ./ ../src/com/example/package/foo.java
(我已经设置了$CLASSPATH = "~/proj/bin"
。似乎这种方式只有在我们 cd 到时才有效~/proj/bin
。)
现在使用 vim(我在 Mac 上使用带有 spf13-vim 分布的 vim 插件的 MacVim)。当 .java 文件被 vim 保存时,它会自动使用 javac 编译。但是,vim 将当前文件夹视为~/proj/bin/com/example/package/
,而不是~/proj/bin
。因此,每当它使用来自 foo1 的类时,它都会在 foo.java 中显示错误。
java类打包时如何在保存时自动编译java?