問題タブ [pmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
code-analysis - 新しい言語を完全にサポートするようにPMDをカスタマイズできますか?
妥当な時間内に、新しい言語を完全にサポートするようにPMDをカスタマイズできますか。技術的にはほとんど何でもできることを知っていますが、これが妥当な時間でできるかどうか疑問に思っていますか?例<2週間
このページでは、CPDパーサーの作成方法について説明していますhttp://pmd.sourceforge.net/cpd-parser-howto.html
しかし、これはコピー/貼り付けの検出のためだけですか?CPDパーサーを作成することで、Rileセットに関してPMDを完全にサポートできますか?
maven-2 - ビルド目標内に maven pmd プラグインの実行を含めることはできますか?
みんな、プロジェクトのビルド中にpmdレポートを生成したかったので、pom.xmlのビルドセクションにプラグインを追加しましたが、mvn clean install pmd:pmdを明示的に呼び出すまで実行されません。mvn clean install 自体で実行したいです。出来ますか ?私のpomエントリは次のとおりです。
前もって感謝します。
ant - Ant内でカスタムPMDルールセットファイルを使用する
ビルドにカスタムPMDルールセットファイルを使用したいのですが。基本的に、いくつかのルールをオフにして、組み込みのルールセットパッケージの多くを使用したいと思います。
たとえば、文字列と基本ルールのみが必要だとすると、次のルールセットファイルがありますruleset.xml
。
次に、次のように、そのファイルへの参照をAntタスクに含めます。
これは、次の例外で失敗します。
ビルドに失敗しましたE:\ build.xml:120:java.lang.RuntimeException:そのクラスが見つかりませんでしたリソースrulesets/basics.xmlが見つかりません。リソースが有効なファイルまたはURLであるか、net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:229)のCLASSPATH(net.sourceforge.pmd.RuleSetFactory.createSingleRuleSet(RuleSetFactory.java:135))にあることを確認してください。 net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:85)..。
基本的に、ルールセットxmlファイルはタスクのクラスパスを壊します。クラスパス要素をpmdタスクに追加しようとしましたが、機能しません。
カスタムルールセットファイルを機能させるには、何を追加する必要がありますか?ルールセットファイルではなく、antファイルに何かを追加したいと思います。
java - 文字列比較におけるリテラルの正しい位置は何ですか?
私は持っています
しかしPMDは言う
pmd - BigDecimal での equals() の使用について警告する PMD xpath ルール
equals()
のメソッドを呼び出すjava.math.BigDecimal
と値とスケールの両方がチェックされることを警告する PMD xpath ルールを誰かが提案できますか。1.0
と等しくないので1.00
、 を使用する必要がありますcompareTo
。
java - PMD の ArrayIsStoredDirectly ルールの背後にある理由
PMD には、Sun Security ルールセットに ArrayIsStoredDirectly というルールがあります。
配列を受け取るコンストラクターとメソッドは、オブジェクトを複製してコピーを保存する必要があります。これにより、ユーザーによる将来の変更が内部機能に影響することを防ぎます。
これが彼らの例です:
このルールの背後にある理由を完全に理解しているとは思いません。渡された配列の値を別の場所で変更できるからですか? これに関して、コレクションを渡すことと配列を渡すことの間に違いはありますか?
netbeans - NetbeansでのPMDと自動生成されたコード
Netbeansを使用してGUIアプリケーションを構築していますが、PMDは自動生成されたコードの内容について「文句を言います」。自動生成されたコードを無視するようにPMDを構成できますか(Checkstyleで行ったように)?
ありがとうございました。
java - PMD を使用したカスタム ルール - 実行時に値をルールに渡す
私の要件は、Java ファイルを解析し、特定のインターフェイスを実装するクラスまたはインターフェイスを見つけることです。したがって、PMD でカスタム ルールを実装することから始めました。クラスとインターフェースを検索する XPath 式を作成できましたが、検索対象のインターフェース名を XPath ルールに渡す正しい方法を見つけることができませんでした。1 つの方法は、プロパティを定義し、PMD を呼び出す前に xml ファイルを更新することでした。
上記のアプローチの問題は、xml が共有されるため、PMD をスレッドで呼び出すことができないことです。
実行時に値がルールに渡される PMD でこのような問題に直面した人はいますか?
checkstyle - ソナーでソースコードを分析する
ソース コードを svn リポジトリから直接取得し、ソナーで分析することは可能ですか? または、特定のソースに対して Checkstyle または pmd プラグインを実行するためだけにソナーを構成しますか? 非Mavenプロジェクトでこれを行う必要があります。
java - Eclipsepmdプラグインに新しいJavaベースのPMDルールを追加する
Eclipse pmdプラグインに新しいJavaベースのpmdルールを追加するにはどうすればよいですか?
次のエラーが発生します:
無効なクラスの実装。クラスはプラグインのクラスパスにあり、ルールインターフェイスを実装する必要があります。
AbstractRuleクラスでルールクラスを拡張しました。