Fel*_*ipe 6 java vim openjdk compiler-errors javac
使用javac(或ant任务)时,错误消息不包括整个文件路径,它只包含文件名.例如,
$ javac src/path/to/Filename.java
Filename.java:1: package foo.bar does not exist
import foo.bar.Baz;
^
Run Code Online (Sandbox Code Playgroud)
我想要的是,
$ javac src/path/to/Filename.java
src/path/to/Filename.java:1: package foo.bar does not exist
import foo.bar.Baz;
^
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果没有给出整个文件路径,vim quickfix不起作用,而不仅仅是文件名.只需文件名,运行后会打开一个新的空文件:make.
我正在使用:
我认为没有简单的方法可以做到这一点。
然而,我相信有一种复杂的方法。它基本上涉及编写您自己的编译器运行程序,该编译器运行程序利用 JDK 安装的能力在正在运行的程序中加载和运行 Java 编译器。您需要实现很多东西,但关键是诊断处理器,它按照您需要的方式格式化编译器错误消息。
以下是一些相关链接:
javax.tools- 提供可以从程序调用的工具的接口,例如编译器。JavaCompiler- 编译器实现的接口FileObject- 编译器用来表示源文件的接口;例如在诊断中。注意toUri()方法!