You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jörg Buchberger (JIRA)" <ji...@codehaus.org> on 2010/04/01 13:15:23 UTC

[jira] Commented: (MNG-1803) Provide line number information when there are errors processing a pom.xml

    [ http://jira.codehaus.org/browse/MNG-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=216337#action_216337 ] 

Jörg Buchberger commented on MNG-1803:
--------------------------------------

Although, this seems somewhat addressed in these commits among others
    r814330,13. September 2009
    r824998,14. Oktober 2009
the Maven-3.0-SNAPSHOT included with m2eclipse-0.10.0.20100902-0800 won't give line and column information on the console output - e.g. for missing artifactId tag from a dependency. This is also true for invocations using the -e or -X options.

Although, there are some other hints about the error included with the output message, this enhancement seems very useful to me - especially, if I think of Maven newbies.

Perhaps, this would need to be also addressed in the org.apache.maven.settings.validation.DefaultSettingsValidator's addError() and addWarn() methods. But I don't know, the Maven codebase well, so this might be wrong as approach.




> Provide line number information when there are errors processing a pom.xml
> --------------------------------------------------------------------------
>
>                 Key: MNG-1803
>                 URL: http://jira.codehaus.org/browse/MNG-1803
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Logging, POM
>    Affects Versions: 2.0
>         Environment: Maven 2.0, Windows xp, jdk 1.5, cygwin
>            Reporter: Howard M. Lewis Ship
>             Fix For: 3.0-beta-1
>
>
> When there is an error in a pom.xml, Maven 2 does a reasonable job identifying the error, but it doesn't provide the location of the error.  For example, I forget to include a <version> inside one of my dependencies:
> bash-3.00$ mvn
> [INFO] Scanning for projects...
> [INFO] ----------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ----------------------------------------------------------------------------
> [INFO] Error building POM (may not be this project's POM).
> Project ID: hivemind:hivemind
> POM Location: c:\workspace\jakarta-hivemind\library\pom.xml
> Validation Messages:
>     [0]  'dependencies.dependency.version' is missing.
> Reason: Failed to validate POM
> [INFO] ----------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.reactor.MavenExecutionException: Failed to validate POM
>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:359)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:276)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:113)
>         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: Failed to validate POM
>         at org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:774)
>         at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:624)
>         at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFile(DefaultMavenProjectBuilder.java:298)
>         at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:276)
>         at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:509)
>         at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:441)
>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:345)
>         ... 11 more
> [INFO] ----------------------------------------------------------------------------
> [INFO] Total time: < 1 second
> [INFO] Finished at: Sat Dec 10 10:09:16 PST 2005
> [INFO] Final Memory: 1M/2M
> [INFO] ----------------------------------------------------------------------------
> Maven should have identified the LINE NUMBER, not just the file.  I shouldn't have to pick my way though the document when Maven already has.  Better yet, it should display the invalid portion of the file and highlight the exact point of the error.
> I realize that it is controversial to add this issue as a bug and not an enhancement, but I feel strongly about the absolute importance of developer feedback in any complex tool.

-- 
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