Better error handling for PMDException 
---------------------------------------

                 Key: MPMD-65
                 URL: http://jira.codehaus.org/browse/MPMD-65
             Project: Maven 2.x PMD Plugin
          Issue Type: Improvement
          Components: PMD
            Reporter: Xavier Le Vourch
         Attachments: PMDException.patch

PMDException is not caught and this means an exception stack is displayed when 
an error occurs, for instance when annotations are used with targetJdk set to 
1.4.

With the attached patch, the plugin now displays a single line:

[WARNING] Error while parsing 
/home/xlv/dev/pmd/maven/mvn_test/src/main/java/com/brittanysoftware/pmd/test/App.java:
 Can't use annotations when running in JDK 1.4 mode!

instead of an exception stack:

[WARNING] Failure executing PMD for: 
/home/xlv/dev/pmd/maven/mvn_test/src/main/java/com/brittanysoftware/pmd/test/App.java
net.sourceforge.pmd.PMDException: Error while parsing 
/home/xlv/dev/pmd/maven/mvn_test/src/main/java/com/brittanysoftware/pmd/test/App.java
        at net.sourceforge.pmd.PMD.processFile(PMD.java:123)
        at net.sourceforge.pmd.PMD.processFile(PMD.java:72)
        at net.sourceforge.pmd.PMD.processFile(PMD.java:166)
        at 
org.apache.maven.plugin.pmd.PmdReport.executeReport(PmdReport.java:228)
        at 
org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:98)
        at 
org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:73)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:493)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:463)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
        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:597)
        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: net.sourceforge.pmd.ast.ParseException: Can't use annotations when 
running in JDK 1.4 mode!
        at 
net.sourceforge.pmd.ast.JavaParser.checkForBadAnnotationUsage(JavaParser.java:32)
        at 
net.sourceforge.pmd.ast.JavaParser.MarkerAnnotation(JavaParser.java:5351)
        at net.sourceforge.pmd.ast.JavaParser.Annotation(JavaParser.java:5270)




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

        

Reply via email to