我已经进行了很多查找,似乎找不到用于解析javac编译错误的现有库。我正在考虑自己实现一个“ javac错误解析器”,但我可以预见,它可能不会很简单(需要考虑的很多位)。
我没有使用ant进行构建(这有很多原因,但是我可以像这样收集javac的输出:
Something.java:1: error: Something is not abstract and does not override abstract method foo(boolean) in InterfaceSomething
public class Something implements InterfaceSomething{
^
Something.java:49: error: incompatible types: int cannot be converted to Something[]
return baz;
^
Something.java:55: error: incompatible types: int cannot be converted to Something[]
return baz;
^
Note: Something.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
3 errors
理想情况下,我想要一个包含“错误”列表的对象。每个“错误”都有一个文件名,行号,描述和代码段。
例如,在这种情况下,错误0将成立:
A String filename = "Something.java"
An int lineNum = 1
A String description = "Something is not abstract and....."
A String codeSnippet ="public class Something implements InterfaceSomething{"
过去尝试进行很多事情的解析,我意识到这通常是一件很艰巨的工作,因为在某些情况下,输出总是会有些许不同或没有预期(因此,我正在寻找有人在其中花费了考虑到这些情况可以节省一些时间,以免我重新发明轮子。
我找不到这个,这似乎很奇怪。有什么想法吗?
编辑:重要-我不是要任何人为我做这件事,我自己完全有能力做到这一点,我只是想对已经存在的可以做到这一点的任何想法或建议。我不是在寻找包含代码的答案,而是在寻找建议此输出格式规则的答案,或者将我定向到一些我找不到的现有库。