假设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,所以有大量可用的工具:Ant 或 Maven 等标准构建工具提供了项目编译所需的所有功能,并且可以通过 :make
在 Vim 中触发。或者,如果您的项目变得更大,那么切换到功能齐全的 IDE 可能是有意义的,例如 Eclipse、NetBeans 或 IntelliJ IDEA从卓越的代码导航和调试功能中获益。 (您仍然可以在它们下面使用 Ant 或 Maven,并在 Vim 中同时编辑文件。)
关于java - 类打包时如何使用vim编译Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13821997/