You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/03/30 15:48:08 UTC

svn commit: r929140 - /maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java

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() );
         }