On Fri, Apr 6, 2012 at 8:32 AM, x <wasedaxiao_at_gmail.com> wrote:
> I checked out the source repository for 3.1.2 and launched the build "mvn
> -U clean install" then the following error occurred.
>
> [ERROR] Non-parseable POM
> C:\Users\xz\.m2\repository\net\java\jvnet-parent\1\jvnet-parent-1.pom:
> Expected root element 'project' but found 'html' (position: START_TAG seen
> <html>... @1:6) @
> C:\Users\xz\.m2\repository\net\java\jvnet-parent\1\jvnet-parent-1.pom, line
> 1, column 6 -> [Help 2]
>
This can happen when you are using an internet provider who "helpfully"
returns an HTML page instead of a true 404 error. Verizon (in the US) used
to do this, as did Charter. Basically, Maven (or any HTTP client) will ask
for a particular resource, and the ISP will claim that this resource has
been found (HTTP 200) even if it is truly missing. The ISP in this case
serves back an HTML page chock full of advertising and some supposedly
helpful text that is designed to help a human user find what you were
presumably really looking for. Of course, this approach confuses Maven
(and any other HTTP client that is not a web browser) because as far as
Maven can tell, the resource it asked for exists, so it downloads it. In
this case, instead of downloading a pom file, you have downloaded some sort
of HTML page. Then Maven (in this case) tries to parse that HTML page as a
pom.xml file and fails (understandably).
This will happen sometimes if you've taken your laptop to a café or
something like that in the past; this file might have been downloaded and
put in your local Maven repository a long time ago.
Sometimes this happened with Oracle resources as well, though when I try to
point my web browser at
https://maven.glassfish.org/content/groups/glassfish/net/java/jvnet-parent/1/jvnet-parent-1.pomI
do in fact get a 404.
Finally, you should read this:
https://blogs.oracle.com/theaquarium/entry/some_maven_related_changes_when
Hope all this helps.
Best,
Laird
--
http://about.me/lairdnelson