java - 类打包时如何使用vim编译Java

标签 java macos vim

假设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 发行版的 MacVim 插件)。当 .java 文件被 vim 保存时,它会自动使用 javac 进行编译。但是,vim 将当前文件夹视为~/proj/bin/com/example/package/,而不是~/proj/bin。因此,每当它使用来自 foo1 的类时,它都会在 foo.java 中显示错误。

如何在java类打包后保存时自动编译java?

最佳答案

不要忘记 Vim 是一个通用的文本编辑器。尽管您选择的发行版提供的插件等插件提供了快速编译单个文件的功能,但一旦您进入更大的项目,请为工作选择合适的工具(例如正确处理依赖项)。

因为这是 Java,所以有大量可用的工具:AntMaven 等标准构建工具提供了项目编译所需的所有功能,并且可以通过 :make 在 Vim 中触发。或者,如果您的项目变得更大,那么切换到功能齐全的 IDE 可能是有意义的,例如 EclipseNetBeansIntelliJ IDEA从卓越的代码导航和调试功能中获益。 (您仍然可以在它们下面使用 Ant 或 Maven,并在 Vim 中同时编辑文件。)

关于java - 类打包时如何使用vim编译Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13821997/

相关文章:

java - Vaadin 14 单选按钮组显示自定义字符串作为选项

Javabean Introspector - 我的列表中有什么?

Vim 多行编辑就像在 sublimetext 中一样吗?

r - 在 macOS 的 conda 环境下使用 R 包

macos - 管理员密码不适用于 OS X Yosemite

vim - 检测折叠线或增量搜索(?)

r - 如何在Vim中使用模板

java - 如何使用软件(不是 Zxing)在 Android 上可靠地解码 PDF417 条形码?

java - ClassNotFoundException 异常

python - 如何让我的脚本自动将我的管理员密码输入 Mac OS 终端?