The Maven 2.0.2 XML parser fails to parse a UTF-8 POM that begins with the 
optional byte-order mark.
----------------------------------------------------------------------------------------------------

         Key: MNG-2057
         URL: http://jira.codehaus.org/browse/MNG-2057
     Project: Maven 2
        Type: Bug

  Components: POM  
    Versions: 2.0.2    
 Environment: java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

Microsoft Windows XP [Version 5.1.2600]
    Reporter: Steven Coco
 Attachments: UTF8-BOM-pom.zip

The Byte-Order mark is optional, and discouraged in the UTF-8 encoding; but the 
Unicode specification is clear that it is allowed -- if you read the Unicode 
Standard v4, section 2.6, and Table 2.3, and section 15.9, and table 15.3; it 
is clear that the BOM is allowed at the start of a UTF-8 file.

It so happens that this is the way Windows NotePad saves files when you select 
UTF-8; and Maven will not parse it.  I'll attach a small POM saved this way, 
and I'll put it into a ZIP file to hopefully preserve the encoding.  Here is 
the Maven output:

[INFO] Scanning for projects...
[INFO] 
----------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] 
----------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: unknown
POM Location: C:\Documents and Settings\Coco\Desktop\pom.xml

Reason: Parse error reading POM. Reason: only whitespace content allowed before 
start tag and not \u
ef (position: START_DOCUMENT seen \uef... @1:1)


[INFO] 
----------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Parse error reading POM. 
Reason: only whitespace c
ontent allowed before start tag and not \uef (position: START_DOCUMENT seen 
\uef... @1:1)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:278)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Parse error 
reading POM. Reason: o
nly whitespace content allowed before start tag and not \uef (position: 
START_DOCUMENT seen \uef...
@1:1)
        at 
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.
java:1134)
        at 
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.
java:1094)
        at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFile(DefaultMavenProje
ctBuilder.java:289)
        at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java
:274)
        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:515)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:447)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:351)
        ... 11 more
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: only 
whitespace content allowed
 before start tag and not \uef (position: START_DOCUMENT seen \uef... @1:1)
        at 
org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1516)
        at 
org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1392)
        at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1090)
        at 
org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:4545)
        at 
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.
java:1130)
        ... 17 more
[INFO] 
----------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Wed Feb 08 21:14:03 EST 2006
[INFO] Final Memory: 1M/2M
[INFO] 
----------------------------------------------------------------------------


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to