[ https://jira.codehaus.org/browse/MPMD-174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=359517#comment-359517 ]
Maciek Siemczyk commented on MPMD-174: -------------------------------------- Hi Michael, Looks like that mock HTTP server causes all kind of issues with SLF4J version. This is partially because you are using ancient version of maven-plugin-testing-harness which depends on per 1.6.x SLF4J. Also another issue was that Andreas changed my implementation little bit and it now uses HEAD request type, which mock server does not support. For the latter reason I changed the mocking HTTP server framework to WireMock which does support HEAD requests. Please note that I still couldn't use the Rule mock as with such a old maven-plugin-testing-harness the @Rule annotation does not work. If I was use I would create an issue about updating that plugin to something more recent. The current version is in 3.x range. Anyways, here is a new path. You can try with PMD 5.2.2 and you should see unit tests fail with same error as this issue. > Using a permalink from sonar as a ruleset does not work > ------------------------------------------------------- > > Key: MPMD-174 > URL: https://jira.codehaus.org/browse/MPMD-174 > Project: Maven PMD Plugin > Issue Type: Bug > Reporter: Cremers stijn > Assignee: Michael Osipov > Fix For: 3.4 > > Attachments: MPMD-174-2.patch, MPMD-174-3.patch, MPMD-174.patch, > MPMD-174.patch, Sonar's main page.jpg, test.log > > > I am trying to use a permalink from sonar with the pmd configuration from > sonar as a rulest in the maven-pmd-plugin. > This is my maven configuration: > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-pmd-plugin</artifactId> > <version>3.0.1</version> > <configuration> > <rulesets> > > <ruleset>http://my-tools.mycompany.com/sonar/profiles/export?format=pmd&language=java&name=MyProfile</ruleset> > </rulesets> > </configuration> > <executions> > <execution> > <id>pmd</id> > <goals><goal>check</goal></goals> > </execution> > </executions> > </plugin> > But i get the following error when i run "mvn clean install": > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-pmd-plugin:3.0.1:pmd (pmd) on project my-pmd: > An error has occurred in PMD Report report generation. Could not find > resource 'rulesets/http://my/tools.mycompany.com/sonar/profiles.xml'. -> > [Help 1] > I have tried to use the link from the sonar demo site: > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-pmd-plugin</artifactId> > <version>3.0.1</version> > <configuration> > <rulesets> > > <ruleset>http://nemo.sonarqube.org/profiles/export?format=pmd&language=java&name=Nemo</ruleset> > </rulesets> > </configuration> > <executions> > <execution> > <id>pmd</id> > <goals><goal>check</goal></goals> > </execution> > </executions> > </plugin> > But then i get the following error: > [INFO] --- maven-pmd-plugin:3.0.1:pmd (pmd) @ my-pmd --- > [WARNING] Unable to locate Source XRef to link to - DISABLED > [WARNING] Failure executing PMD: Couldn't find the class White spaces are > required between publicId and systemId. > java.lang.RuntimeException: Couldn't find the class White spaces are required > between publicId and systemId. > at > net.sourceforge.pmd.RuleSetFactory.classNotFoundProblem(RuleSetFactory.java:244) > at > net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:238) > at > net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:161) > at > net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:126) > at > net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:111) > at > net.sourceforge.pmd.processor.AbstractPMDProcessor.createRuleSets(AbstractPMDProcessor.java:56) > at > net.sourceforge.pmd.processor.MonoThreadProcessor.processFiles(MonoThreadProcessor.java:41) > at net.sourceforge.pmd.PMD.processFiles(PMD.java:271) > at > org.apache.maven.plugin.pmd.PmdReport.generateReport(PmdReport.java:296) > at org.apache.maven.plugin.pmd.PmdReport.execute(PmdReport.java:194) > at > org.apache.maven.plugin.pmd.PmdReport.executeReport(PmdReport.java:168) > at > org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190) > at > org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:99) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) > at > org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:364) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:198) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) > 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.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) -- This message was sent by Atlassian JIRA (v6.1.6#6162)