将Ant-Contrib集成到Eclipse中时的org / apache / commons / codec / DecoderException

时间:2009-10-23 08:42:32

标签: eclipse ant ant-contrib

我尝试将Ant-Contrib 1.0b3集成到Eclipse中,方法是将ant-contrib-1.0b3.jar和附带的jar文件从libs-directory添加到Ant的“Global Entries”部分。 Eclipse中的Runtime-preferences页面。

对于不需要lib的任务,例如propertyregex,这样可以正常工作。 但是当我尝试使用postMethod任务时,我收到以下错误:

java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException

有关如何解决此问题的任何建议?

2 个答案:

答案 0 :(得分:2)

看起来你的装备不包含Apache Commons Codec,它必须是ant-contrib的依赖。

根据依赖关系here,您可能还需要commons-logging,但您可能已经得到了。{/ p>

答案 1 :(得分:0)

在构建文件中定义第三方任务时,指定类路径会更加清晰。 提供单个罐子或向类路径添加<fileset>个从属罐子,例如

<taskdef
  resource="net/sf/antcontrib/antlib.xml"
  uri="http://ant-contrib.sourceforge.net"
>
  <classpath>
    <pathelement location="${ant-contrib.jar}"/>
    <fileset dir="${ant-contrib-dependency.lib}">
      <include name="*.jar"/>
    </fileset>    
  </classpath>
</taskdef>

您可以在此构建文件中定义默认的ant-contrib.jarant-contrib-dependency.lib属性,并在ant构建工具VM参数中提供项目特定的覆盖。这意味着您不必将这些文件复制到系统上的各种目录中。