Author: bentmann Date: Tue Mar 30 13:48:08 2010 New Revision: 929140 URL: http://svn.apache.org/viewvc?rev=929140&view=rev Log: [MNG-2187] Improve error message when the pom is encoded in the wrong charset
Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java?rev=929140&r1=929139&r2=929140&view=diff ============================================================================== --- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java (original) +++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java Tue Mar 30 13:48:08 2010 @@ -359,7 +359,20 @@ public class DefaultModelBuilder } catch ( IOException e ) { - problems.add( Severity.FATAL, "Non-readable POM " + modelSource.getLocation() + ": " + e.getMessage(), e ); + String msg = e.getMessage(); + if ( msg == null || msg.length() <= 0 ) + { + // NOTE: There's java.nio.charset.MalformedInputException and sun.io.MalformedInputException + if ( e.getClass().getName().endsWith( "MalformedInputException" ) ) + { + msg = "Some input bytes do not match the file encoding."; + } + else + { + msg = e.getClass().getSimpleName(); + } + } + problems.add( Severity.FATAL, "Non-readable POM " + modelSource.getLocation() + ": " + msg, e ); throw new ModelBuildingException( problems.getRootModelId(), problems.getProblems() ); }