ANT 问题:net/sf/antcontrib/antcontrib.properties

2022-09-01 15:17:55

我正在尝试将软件安装到我的 Debian Lenny 服务器上。具体来说,就是 Capture-HPC。我已经设置了VMWare服务器,以及所有先决条件。当我去在目录中运行蚂蚁时,我得到以下错误:

[taskdef] Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found.

有人知道是什么原因造成的吗?有关我的蚂蚁安装的详细信息如下:

Apache Ant version 1.7.0 compiled on April 29 2008
Buildfile: build.xml
Detected Java version: 1.6 in: /usr/lib/jvm/java-6-sun-1.6.0.20/jre
Detected OS: Linux

而构建.xml文件 . . .

<?xml version="1.0"?>
<project name="CaptureServer" xmlns:ac="antlib:net.sf.antcontrib" default="release" basedir=".">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>

<condition property="os" value="unix">
    <os family="unix"/>
</condition>
<condition property="os" value="windows">
    <os family="windows"/>
</condition>

 <property environment="env"/>
 <property name="src" value="."/>
 <property name="build" value="build"/>
 <property name="lib" value="lib"/>
 <property name="release" value="release"/>
 <property name="classpath.build" value=".\lib\junit-4.4.jar"/>
 <property name="classpath.run" value="lib/junit-4.4.jar"/>


 <path id="classpath">
    <fileset dir="${lib}">
        <include name="*.jar"/>
    </fileset>
 </path>

 <target name="init">
      <mkdir dir="${build}"/>
      <mkdir dir="${release}"/>
 </target>

 <target name="compile" depends="init">
      <!-- Compile the java code -->         
      <javac srcdir="${src}" destdir="${build}" debug="true" debuglevel="lines,vars,source" classpath="${classpath.build}"/>

      <!-- Compile the revert code -->
      <if>
       <equals arg1="${os}" arg2="windows" />
       <then>
       <exec executable="compile_revert_win32.bat"/>
       </then>
      <else>
       <exec command="sh" executable="./compile_revert_linux.sh"/>
      </else>
     </if>

 </target>

 <target name="jar" depends="compile">
    <mkdir dir="${build}/jar"/>
    <jar destfile="${build}/jar/CaptureServer.jar" basedir="${build}">
        <manifest>
            <attribute name="Class-Path" value="${classpath.run}"/>
            <attribute name="Main-Class" value="capture.Server"/>
        </manifest>
    </jar>
</target>

<target name="release" depends="clean,compile,jar">
    <copy file="${build}/jar/CaptureServer.jar" todir="${release}"/>
    <copy file="./COPYING" todir="${release}"/>
    <copy file="./Readme.txt" todir="${release}"/>
    <copy file="./preprocessor_README.txt" todir="${release}"/>
    <copy file="./input_urls_example.txt" todir="${release}"/>
    <copy file="./config.xsd" todir="${release}"/>
    <copy file="./config.xml" todir="${release}"/>
    <copy todir="${release}/${lib}">
        <fileset dir="lib"/>
    </copy>

    <if>
       <equals arg1="${os}" arg2="windows" />
       <then>
        <copy file="${env.VIX_HOME}/libeay32.dll" todir="${release}"/>
        <copy file="${env.VIX_HOME}/ssleay32.dll" todir="${release}"/>
        <copy file="${env.VIX_HOME}/vix.dll" todir="${release}"/>
        <copy file="./revert.exe" todir="${release}"/>
       </then>
      <else>
        <exec executable="cp">
          <arg value="./revert"/>
          <arg value="${release}"/>
        </exec>
      </else>
     </if>  

    <zip destfile="./CaptureServer-Release.zip" basedir="release"/>
</target>

<target name="clean">
    <delete dir="${build}"/>
    <delete dir="${release}"/>
    <delete>
        <fileset dir="." includes="revert.exe"/>
        <fileset dir="." includes="revert"/>
        <fileset dir="." includes="CaptureServer-Release.zip"/>
    </delete>
</target>
</project>

答案 1

此错误消息表明您正在尝试加载非核心任务,但进一步定义该任务的资源不存在(或未在预期位置)。

请参阅此处的安装说明。

您可以

  1. 找到/下载jar并将其放入您的安装中(根据上面链接中的选项1);或ant-contribant
  2. 修改 ant 文件(根据上面链接中的选项 2),将 ant-contrib jar 包含在嵌套的类路径中。

答案 2

Ubuntu 解决方案:

sudo apt-get install ant-contrib
sudo ln -s /usr/share/java/ant-contrib.jar /usr/share/ant/lib/

推荐