Hallo zusammen,
ich versuche gerade, unser bisheriges PMD-Ruleset in unsere neue Eclipse Entwicklungsumgebung zu laden, bekomme aber leider keine Warnungen mehr in der IDE angezeigt. Weil ich nicht sicher bin, was den Fehler verursacht, habe ich nochmal alles von Vorne probiert und habe jetzt das Problem auch in einem ganz frischen Workspace mit einer ganz frischen Eclipse RCP Installation (2024-06) und einem frisch erstellen Beispiel-Ruleset.
Eigentlich sollte bei meinem Test die Zeile "short bill" von PMD markiert werden. Das passiert aber nicht. Im Projekt habe ich PMD aktiviert und mein Ruleset hinzugefügt. Der Name "Custom Rules" mit der Regel "DontCallBossShort" wurde hier korrekt geladen und im Eclipse "ErrorLog" ist ein Informations-Eintrag, dass das Ruleset geladen wurde:

Übersehe ich noch etwas, was ich aktivieren muss, damit ich Fehler angezeigt bekomme?
Hier das Ruleset:
docs.pmd-code.org
pmd.github.io
Installierte Software

Meine Javaklasse mit Regelverletzung
ich versuche gerade, unser bisheriges PMD-Ruleset in unsere neue Eclipse Entwicklungsumgebung zu laden, bekomme aber leider keine Warnungen mehr in der IDE angezeigt. Weil ich nicht sicher bin, was den Fehler verursacht, habe ich nochmal alles von Vorne probiert und habe jetzt das Problem auch in einem ganz frischen Workspace mit einer ganz frischen Eclipse RCP Installation (2024-06) und einem frisch erstellen Beispiel-Ruleset.
Eigentlich sollte bei meinem Test die Zeile "short bill" von PMD markiert werden. Das passiert aber nicht. Im Projekt habe ich PMD aktiviert und mein Ruleset hinzugefügt. Der Name "Custom Rules" mit der Regel "DontCallBossShort" wurde hier korrekt geladen und im Eclipse "ErrorLog" ist ein Informations-Eintrag, dass das Ruleset geladen wurde:
Übersehe ich noch etwas, was ich aktivieren muss, damit ich Fehler angezeigt bekomme?
Hier das Ruleset:
Making rulesets | PMD Source Code Analyzer
A ruleset is an XML configuration file, which describes a collection of rules to be executed in a PMD run. PMD includes built-in rulesets to run quick analys...
Your first rule | PMD Source Code Analyzer
Introduction to rule writing through an example for a XPath rule.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="Custom Rules"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
<description>
My custom rules
</description>
<rule name="DontCallBossShort"
language="java"
message="Boss wants to talk to you."
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
<description>
TODO
</description>
<priority>3</priority>
<properties>
<property name="xpath">
<value>
<![CDATA[
//VariableId[@Name = "bill"][../../Type[@TypeImage="short"]]
]]>
</value>
</property>
</properties>
</rule>
</ruleset>
Installierte Software

Meine Javaklasse mit Regelverletzung
Java:
package my.project.with.pmd;
public class MyClass {
public static void main(String... args) {
short bill = 1;
System.out.println(bill);
}
}