Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.0
-
None
-
None
-
Windows XP, JDK 1.4.2_10, Maven 2.0.2-SNAPSHOT, maven-checkstyle-plugin 2.0-beta-2-SNAPSHOT
Description
When attempting to create a project site including a checkstyle report, the build fails with the attached stack trace. However, when creating a checkstyle report simply by running 'mvn checkstyle:checkstyle', the build is successful and the report is produced.
From some initial investigation, it appears that the classloader passed in to checkstyle itself by the plugin can locate essential resources when the build is specifically for checkstyle, but cannot locate them when it is invoked as part of a call for 'site'. This can be tested by adding the following lines of code into org.apache.maven.plugin.checkstyle.CheckstyleReport.getModuleFactory(), where 'loader' is the ClassLoader being passed to the PackageNamesLoader:
getLog().info("\n\n\n\nClass loader: " + loader.getClass().getName());
getLog().info("Input stream: " + loader.getResourceAsStream("com/puppycrawl/tools/checkstyle/checkstyle_packages.xml"));
getLog().info("DTD: " + loader.getResourceAsStream("com/puppycrawl/tools/checkstyle/packages_1_0.dtd"));
These should show jar file URLs if found, and null if not, which will happen respectively when run as 'mvn checkstyle:checkstyle' and 'mvn site'.
Attachments
Attachments
Issue Links
- depends upon
-
MSITE-60 Report Classloaders out of sync when executed from within the site:site goal.
- Closed
- is related to
-
MNG-1898 Plugin classpath broken from 2.0 to 2.0.1
- Closed
- relates to
-
MNG-1896 Can't load a class from a plugin, when this class is in a parent pom's/build/pluginManagement/plugins/plugin/dependencies
- Closed