Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.3.1
-
Fix Version/s: 2.3.2
-
Labels:None
-
Number of attachments :
Description
This is really a bug in plexus-compiler-javac, not that of a Maven plugin.
Javac uses localized messages for "error" and "warning" for languages like Japanese, but JavacCompiler.parseModernStream(...) and parseModernError(...) is hard-coded to only understand English words "warning" and "error".
In particular, in line 535, the code treats any keyword but "warning" as errors, so the Japanese word "警告" (meaning warning) is interpreted as an error.
isError = !msg.startsWith( WARNING_PREFIX );
As a fix, I suggest you check the exit code from javac to determine if there were any errors — if it returns 0, treat everything as warnings.
Issue Links
- is related to
-
PLXCOMP-154
plexus-compiler-javac could not detect warning message under non-english environment
-
- relates to
-
MCOMPILER-129
unable to pass in javac -J option
-
Fixed in r990633.