Hi,
I try to run the PMD plugin in Eclipse Luna. I want to apply my own Java ruleset defined in xml/xpath.
I cannot get the checking of the ruleset to work, while it worked in older versions of eclipse/the plugin. In project properties, I get two PMD entries in the list, the first gives errors.
Errors from the log file:
2014/12/29 17:35:36,628 ERROR PMDPlugin Error executing command ReviewCode
name.herlin.command.CommandException:
Caused by:
net.sourceforge.pmd.eclipse.runtime.properties.PropertiesException: The project ruleset file cannot be found for project PMDTestCases
[...]
2014/12/29 17:40:38,478 ERROR PMDPlugin Exception building all projects after a preference change
org.eclipse.core.internal.resources.ResourceException: Errors occurred during the build.
[..]
Contains: Errors running builder 'PMD Builder' on project 'PMDTestCases'.
java.lang.NoClassDefFoundError: ch.acanda.eclipse.pmd.builder.Analyzer (initialization failure)
[...]
Caused by:
java.util.ServiceConfigurationError: net.sourceforge.pmd.lang.Language: Provider net.sourceforge.pmd.lang.cpp.CppLanguageModule not a subtype
Versions I use:
PMD Plug-in 4.0.5.v20141105-1906 net.sourceforge.pmd.eclipse.feature.group PMD Project
Eclipse Java EE IDE for Web Developers.
Version: Luna Service Release 1 (4.4.1)
Build id: 20140925-1800
Help is appreciated!
Regards,
Jeroen
Last part of my log file:
2014/12/29 17:33:12,470 ERROR PMDPlugin The project ruleset file cannot be found for project PMDTestCases
net.sourceforge.pmd.eclipse.runtime.properties.PropertiesException: The project ruleset file cannot be found for project PMDTestCases
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesImpl.setRuleSetStoredInProject(ProjectPropertiesImpl.java:198)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.fillProjectProperties(ProjectPropertiesManagerImpl.java:221)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.loadProjectProperties(ProjectPropertiesManagerImpl.java:102)
at net.sourceforge.pmd.eclipse.plugin.PMDPlugin.loadProjectProperties(PMDPlugin.java:407)
at net.sourceforge.pmd.eclipse.ui.properties.PMDPropertyPageController.getPropertyPageBean(PMDPropertyPageController.java:110)
at net.sourceforge.pmd.eclipse.ui.properties.PMDProjectPropertyPage.createContents(PMDProjectPropertyPage.java:118)
at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:233)
at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1537)
at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:1289)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1281)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:699)
at org.eclipse.jface.preference.PreferenceDialog$9$1.run(PreferenceDialog.java:730)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:725)
at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:876)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:873)
at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1217)
at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1243)
at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:265)
at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
at org.eclipse.jface.util.OpenStrategy$1$2.run(OpenStrategy.java:440)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
at org.eclipse.jface.window.Window.open(Window.java:808)
at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:160)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:619)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
2014/12/29 17:35:36,628 ERROR PMDPlugin Error executing command ReviewCode
name.herlin.command.CommandException: net.sourceforge.pmd.eclipse.runtime.properties.PropertiesException: The project ruleset file cannot be found for project PMDTestCases
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processResource(ReviewCodeCmd.java:398)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processProject(ReviewCodeCmd.java:436)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processResources(ReviewCodeCmd.java:338)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.execute(ReviewCodeCmd.java:183)
at net.sourceforge.pmd.eclipse.runtime.cmd.JobCommandProcessor$1.run(JobCommandProcessor.java:85)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by:
net.sourceforge.pmd.eclipse.runtime.properties.PropertiesException: The project ruleset file cannot be found for project PMDTestCases
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesImpl.setRuleSetStoredInProject(ProjectPropertiesImpl.java:198)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.fillProjectProperties(ProjectPropertiesManagerImpl.java:221)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.loadProjectProperties(ProjectPropertiesManagerImpl.java:102)
at net.sourceforge.pmd.eclipse.plugin.PMDPlugin.loadProjectProperties(PMDPlugin.java:407)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processResource(ReviewCodeCmd.java:360)
... 5 more
2014/12/29 17:40:32,423 ERROR PMDPlugin Unable to add new rules for project: P/PMDTestCases
net.sourceforge.pmd.eclipse.runtime.properties.PropertiesException: The project ruleset file cannot be found for project PMDTestCases
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesImpl.setRuleSetStoredInProject(ProjectPropertiesImpl.java:198)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.fillProjectProperties(ProjectPropertiesManagerImpl.java:221)
at net.sourceforge.pmd.eclipse.runtime.properties.impl.ProjectPropertiesManagerImpl.loadProjectProperties(ProjectPropertiesManagerImpl.java:102)
at net.sourceforge.pmd.eclipse.plugin.PMDPlugin.loadProjectProperties(PMDPlugin.java:407)
at net.sourceforge.pmd.eclipse.runtime.preferences.impl.PreferencesManagerImpl.updateConfiguredProjects(PreferencesManagerImpl.java:520)
at net.sourceforge.pmd.eclipse.runtime.preferences.impl.PreferencesManagerImpl.setRuleSet(PreferencesManagerImpl.java:262)
at net.sourceforge.pmd.eclipse.ui.preferences.br.PMDPreferencePage2$3.run(PMDPreferencePage2.java:530)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
2014/12/29 17:40:38,478 ERROR PMDPlugin Exception building all projects after a preference change
org.eclipse.core.internal.resources.ResourceException: Errors occurred during the build.
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:508)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
at net.sourceforge.pmd.eclipse.ui.preferences.br.AbstractPMDPreferencePage$1.run(AbstractPMDPreferencePage.java:93)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Contains: Errors running builder 'PMD Builder' on project 'PMDTestCases'.
java.lang.NoClassDefFoundError: ch.acanda.eclipse.pmd.builder.Analyzer (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.analyze(PMDBuilder.java:75)
at ch.acanda.eclipse.pmd.builder.PMDBuilder$ResourceVisitor.visit(PMDBuilder.java:99)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:126)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:95)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:124)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:108)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.fullBuild(PMDBuilder.java:62)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.build(PMDBuilder.java:48)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:496)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
at net.sourceforge.pmd.eclipse.ui.preferences.br.AbstractPMDPreferencePage$1.run(AbstractPMDPreferencePage.java:93)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by:
java.util.ServiceConfigurationError: net.sourceforge.pmd.lang.Language: Provider net.sourceforge.pmd.lang.cpp.CppLanguageModule not a subtype
at java.util.ServiceLoader.fail(ServiceLoader.java:242)
at java.util.ServiceLoader.access$300(ServiceLoader.java:192)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:380)
at java.util.ServiceLoader$1.next(ServiceLoader.java:456)
at net.sourceforge.pmd.lang.LanguageRegistry.<init>(LanguageRegistry.java:25)
at net.sourceforge.pmd.lang.LanguageRegistry.getInstance(LanguageRegistry.java:32)
at net.sourceforge.pmd.lang.LanguageRegistry.getLanguages(LanguageRegistry.java:38)
at ch.acanda.eclipse.pmd.builder.Analyzer.<clinit>(Analyzer.java:49)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:237)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.analyze(PMDBuilder.java:75)
at ch.acanda.eclipse.pmd.builder.PMDBuilder$ResourceVisitor.visit(PMDBuilder.java:99)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:126)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:95)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:124)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:108)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.fullBuild(PMDBuilder.java:62)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.build(PMDBuilder.java:48)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)</clinit></init>
After a while I get an SWT error in Eclipse because there are no more handles and Eclipse exits.
The SWT error with no more handlers seems to be something else, it still happens after I remove the plugin.