Maven Compiler Plugin
  1. Maven Compiler Plugin
  2. MCOMPILER-109

JavacCompiler treat localized warning messages as errors

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.1
    • Fix Version/s: 2.3.2
    • Labels:
      None
    • Number of attachments :
      0

      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

          Activity

          Hide
          Benjamin Bentmann added a comment -

          Fixed in r990633.

          Show
          Benjamin Bentmann added a comment - Fixed in r990633 .

            People

            • Assignee:
              Benjamin Bentmann
              Reporter:
              Kohsuke Kawaguchi
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: