PMD Apex Не удается найти ресурс для правила в Windows - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь настроить PMD для анализа кода. Я использую VS Code, уже установлен Java 10, скачал несколько версий PMD enter image description here

Я установил расширение Apex PMD для кода VS и настроил его в соответствии с его инструкциями.

Но продолжайте получать сообщение об ошибке поиска ресурса независимо от того, какую версию я выберу.

Это часть вывода кода VS

Команда PMD: java -cp "C: \ Code \ pmd-bin-5.7.0 \ lib *" net.sourceforge.pmd.PMD -d "c: \ Code \ Lightning \ src \ classes \ AccountController.cls "-f csv -R" C: \ Code \ ruleset \ apex_default.xml " ошибка: ошибка: команда не выполнена: java -cp "C: \ Code \ pmd-bin-5.7.0 \ lib *" net.sourceforge.pmd.PMD -d "c: \ Code \ Lightning \ src \ classes \ AccountController. cls "-f csv -R" C: \ Code \ ruleset \ apex_default.xml " 12 сентября 2018 14:35:20 net.sourceforge.pmd.RulesetsFactoryUtils getRuleSets SEVERE: набор правил не найден net.sourceforge.pmd.RuleSetNotFoundException: не удается найти ресурс «category / apex / design.xml» для правила «ExcessiveParameterList». Убедитесь, что ресурс является допустимым файлом или URL-адресом и находится в CLASSPATH. Вот текущий путь к классу: C: \ Code \ pmd-bin-5.7.0 \ lib \ antlr-runtime-3.5.2.jar; C: \ Code \ pmd-bin-5.7.0 \ lib \ antlr4-runtime-4.5 .2-1.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ ASM-5.0.4.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ достоянию-IO-2,4 .jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ достоянию-lang3-3.4.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ заводной-2.4.7.jar; C : \ Code \ PMD-бен-5.7.0 \ Lib \ gson-2.5.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ JavaCC-5.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ jaxen-1.1.6.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ jcommander-1.48.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-апекс-5.7.0-апекс-Jorje-shaded.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-апекс-5.7.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ PMD-ядро-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-каст-5.7.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ PMD-CS-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-Фортран-5.7.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ PMD-гоу-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-заводной-5.7.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ PMD-ява-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ ПМД на JavaScript 5.7.0.jar; C: \ Code \ PMD-bin- 5.7.0 \ Lib \ ПМД-5.7.0.jar JSP, C: \ Co де \ PMD-бен-5.7.0 \ Lib \ PMD-Matlab-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-ObjectiveC-5.7.0.jar; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD жемчужно-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-PHP-5.7.0.jar; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD-PLSQL-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-питон-5.7.0.jar; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD-рубинового 5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ ПМД-5.7.0.jar Scala; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD-быстроногое 5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-щ-5.7.0.jar; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD-Visualforce-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ PMD-ут-5.7.0.jar; C: \ Код \ PMD-бен-5.7.0 \ Lib \ PMD-XML-5.7.0.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ рино-1.7.7.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ саксонской-9.1.0.8-dom.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ саксонской-9.1.0.8.jar; C: \ Code \ pmd- бен-5.7.0 \ Lib \-компилятор лестницу-2.10.4.jar; C: \ Code \ PMD-бен-5.7.0 \ Lib \ библиотека лестницу-2.10.4.jar; C: \ Code \ pmd- бен-5.7.0 \ Lib \-отражать лестницу-2.10.4.jar

Если я запускаю команду из командной строки, я получаю похожий вывод. Эта ошибка относится к каждому правилу в моем наборе правил, которое не является чем-то необычным, это набор правил по умолчанию, который поставляется с расширением.

1 Ответ

0 голосов
/ 13 сентября 2018

У меня работает с PMD 6.7.0 и не работает с 5.7.0:

Правило, на которое вы ссылаетесь "category / apex / design.xml / ExcessiveParameterList", доступно по этому пути только после PMD 6. В этой версии мы разбили правила на категории. При использовании PMD 5.7.0 вам нужно будет использовать старый набор правил: "rulesets / apex / complex.xml / ExcessiveParameterList". Вероятно, лучше использовать последнюю версию PMD. Есть ли способ настроить расширение Apex PMD?

См. Также https://github.com/pmd/pmd/issues/1344

...