Uploaded image for project: 'Maven Help Plugin'
  1. Maven Help Plugin
  2. MPH-87

help:effective-pom/effective-settings uses platform encoding and garbles non-ASCII characters, emits invalid XML

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.1
    • 3.0.0
    • effective-pom
    • None
    • Windows, MacOSX, Linux, Maven 3.0.4

    Description

      As stated in http://www.w3.org/TR/REC-xml/#sec-guessing-no-ext-info XML files without a BOM and without a XML encoding declaration should read the XML as UTF-8.

      help:effective-pom does use the platform encoding for writing the effective-pom without emitting an appropriate XML encoding declaration in the resulting XML file.

      I have created a small sample project (available at https://github.com/mfriedenhagen/invalidpom, attached as ZIP) which will reproduce the issue.

      While the parent pom (https://raw.github.com/mfriedenhagen/invalidpom/master/pom.xml) has a XML encoding declaration, https://raw.github.com/mfriedenhagen/invalidpom/master/child-invalid/pom.xml has none.

      Now running:

      mvn -s settings.xml -gs settings.xml clean validate
      

      will produce an invalid character for the developer name "Jörg" in child-invalid.

      Two workarounds are:

      • to include a XML encoding declaration as done in child-valid.
      • to use JAVA_TOOL_OPTIONS on Windows as stated in http://stackoverflow.com/a/623036/49132
      • to use MAVEN_OPTS=-Dfile.encoding=utf-8 mvn -s settings.xml -gs settings.xml clean validate.

      Nonetheless I consider this a Major bug, as it clearly violates the recommendations of W3C.

      Attachments

        Activity

          People

            michael-o Michael Osipov
            mfriedenhagen Mirko Friedenhagen
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: