Question

Is it possible to make javac output only the error locations and the error messages, and hide the source code dump?

Now I get:

$ 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

I want to get only:

$ 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
Was it helpful?

Solution

I think there is no flag you could pass to javac, but you can simply filter the output through any program which removes the superfluous lines. Here an example with grep:

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

You might have to change the part matching the file name if you have strange letters in your file name - this seems to work for the ASCII subset.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top