javac标志只打印错误位置

时间:2011-05-15 10:21:14

标签: javac verbosity

是否可以使javac仅输出错误位置和错误消息,并隐藏源代码转储?

现在我明白了:

$ javac t.java
t.java:1: <identifier> expected
class {
     ^
t.java:2: reached end of file while parsing
bar
   ^
t.java:4: reached end of file while parsing

^
3 errors

我只想得到:

$ javac ... t.java
t.java:1: <identifier> expected
t.java:2: reached end of file while parsing
t.java:4: reached end of file while parsing

1 个答案:

答案 0 :(得分:1)

我认为没有可以传递给javac的标志,但是您可以通过任何删除多余行的程序来过滤输出。这是grep的一个例子:

javac t.java 2>&1 | egrep '^[a-zA-Z0-9_/]+\.java:[0-9]+: '

如果文件名中包含奇怪的字母,则可能必须更改与文件名匹配的部分 - 这似乎适用于ASCII子集。