【问题标题】:Ignore Ant warning with comment用评论忽略 Ant 警告
【发布时间】:2013-01-04 14:29:35
【问题描述】:

我这里有一个非常简单的 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

现在很清楚这里发生了什么。 Ant 没有看到在 ivy 的 cachepath 任务中定义的 path.pmd 并创建了警告。 现在我想忽略此警告。 但是,我不想通过在 Eclipse 中使用 Ant 首选项来忽略该警告。我知道这很容易,但这也意味着有一天当我真的缺少参考资料时,我将不会收到警告。

Ant 有无评论风格吗?就像在 PMD 中一样,您可以使用 //NOPMD 忽略指定行上的任何警告。如果有,请赐教:)

如果没有,是否有任何其他方法可以从 Ant 构建文件的此特定行中删除此警告。

任何帮助将不胜感激。

【问题讨论】:

    标签: eclipse ant build ivy


    【解决方案1】:

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

    How to tell Eclipse to ignore errors in an Ant build.xml?

    我是从 Knots 找到的:

    “另一种解决方法(比禁用所有验证/问题报告更温和):转到 Window->preferences->Ant->Problems 选项卡。将“build.xml”添加到忽略列表...”

    【讨论】:

      【解决方案2】:

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

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

      <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 plugin 和外部 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 task,它还将使用 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>
      

      【讨论】:

        【解决方案3】:

        转到 Window->preferences->Ant->Problems 选项卡。将“build.xml”添加到忽略列表。 这应该可以解决您的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-15
          相关资源
          最近更新 更多