5

ここに、警告を報告する Eclipse を生成する非常に簡単な Ant の例があります。

<ivy:cachepath pathid="path.pmd" organisation="pmd" module="pmd" revision="4.3" conf="default" inline="true" />
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="path.pmd" />

報告された問題は次のとおりです。

Description                     Resource    Path    Location    Type
Reference path.pmd not found.   build.xml   /MyPrj  line 20     Ant Buildfile Problem

ここで何が起こっているかは明らかです。Ant は、アイビーの cachepath タスクで定義された path.pmd を認識せず、警告を作成します。ここで、この警告を無視したいと思います。ただし、Eclipse の Ant 設定を使用して警告を無視したくありません。それは簡単ですが、ある日、実際に欠落している参照がある場合、警告が表示されないことも意味します。

Ant にはコメント スタイルを無視する機能がありますか? //NOPMD を使用して、指定した行の警告を無視できる PMD と同様です。もしあれば、私に教えてください:)

そうでない場合、Ant ビルド ファイルのこの特定の行からこの警告を削除する他の方法はありますか。

どんな助けでも大歓迎です。

4

3 に答える 3

1

あなたの質問に対する答えはノーです。

ただし、プロパティを使用して、次のようにターゲットのオン/オフを切り替えることができます。

<target name="resolve-ivy" if="use.ivy">
    <ivy:cachepath pathid="path.pmd"....
</target>

<target name="resolve-ant" unless="use.ivy">
    <path id="path.pmd">
        <pathelement location="/path/to/pmd/jar/pmd.jar"/>
    </path>
</target>

<target name="create-tasks" depends="resolve-ivy,resolve-ant">
    <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="path.pmd" />
</target>

したがって、プロパティ「use.ivy」が設定されている場合、ビルドは ivy を使用してビルドの依存関係をダウンロードします。

色々と気づきがあります……。

この警告は本当に無視できますか?

ビルドのクラスパスを管理するために 2 つのメカニズムを使用するのはなぜですか?

Eclipse を使用している場合は、 Eclipse プラグインと外部の ivy.xml を使用して調査し、プロジェクトの依存関係を追跡してください。このアプローチは、ANT と Eclipse の両方で使用されるクラスパスを同期します。

Maven Central の PMD モジュール

ivy が Maven Central から間違ったモジュールをプルしています。PMD の最新リビジョンは 5.0.1 です。

次の代替アイビータスク構成をお勧めします

<ivy:cachepath pathid="path.pmd">
   <dependency org="net.sourceforge.pmd" name="pmd" rev="5.0.1" conf="default"/>
</ivy:cachepath>

ノート:

ソナーを検討しましたか?

PMD を有効にするより簡単な方法は、Sonar ANT タスクを使用することです。これは、Findbugs と Checkstyle を使用してコードを分析します。

このタスクは、ivy を使用して取得することもできます。

<ivy:cachepath pathid="path.sonar">
    <dependency org="org.codehaus.sonar-plugins" name="sonar-ant-task" rev="2.0" conf="conf"/>
</ivy:cachepath>
于 2013-01-21T18:40:27.000 に答える
1

あなたがしたくない場合でも、設定が重要だと思います。これをチェックしてください。おそらく、いくつかのリンクから何か他のものを見つけるでしょう:

Ant build.xml のエラーを無視するように Eclipse に指示する方法は?

私はノットからこれを見つけました:

「別の回避策 (すべての検証/問題レポートを無効にするよりも抜本的ではありません): [ウィンドウ] -> [設定] -> [Ant] -> [問題] タブに移動します。無視リストに "build.xml" を追加します..."

于 2013-01-21T17:00:36.303 に答える