忽略带有注释的蚂蚁警告



这里有一个非常简单的Ant示例,它使Eclipse报告一个警告:

<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

现在很清楚这里发生了什么。蚂蚁看不见路。在ivy的缓存路径任务中定义PMD,并创建警告。现在我想忽略这个警告。但是,我不想通过在Eclipse中使用Ant首选项来忽略警告。我知道这很容易,但这也意味着有一天当我真的有丢失的引用时,我将不会得到警告。

Ant有注释样式忽略吗?就像在PMD中,你可以使用//NOPMD来忽略指定行上的任何警告。如果有,请告诉我:)

如果没有,是否有其他方法可以从Ant构建文件的这一行删除此警告。

我认为偏好是关键,即使你不想,看看这个,也许你会在几个链接之外找到别的东西:

如何告诉Eclipse忽略Ant build.xml中的错误?

我从Knots中找到了这个:

"另一个解决方法(比禁用所有验证/问题报告更温和):转到窗口->首选项->Ant->问题选项卡。将build.xml添加到忽略列表中…"

你的问题的答案是否定的。

但是,可以使用属性来打开/关闭目标,如下所示:

<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来下载构建依赖项。

我有一些观察....

这个警告真的可以忽略吗?

为什么要使用两种机制来管理构建的类路径?

如果您正在使用Eclipse,也许可以研究使用Eclipse插件和外部ivy.xml来跟踪项目的依赖项。这种方法将同步ANT和Eclipse使用的类路径。

Maven Central中的PMD模块

ivy从Maven Central提取了错误的模块。最新的PMD版本是5.0.1:

  • http://search.maven.org/ga搜索| 3 | 1 | % % 22 pmd % 22

我建议以下ivy任务配置

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

注意:

  • 该语法需要最新版本的ivy 2.3.0

你考虑过Sonar吗?

启用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>

进入窗口->首选项->Ant->问题选项卡。将"build.xml"添加到忽略列表中。这应该能解决你的问题。

相关内容

  • 没有找到相关文章

最新更新