Проблемы ANT: net / sf / antcontrib / antcontrib.properties - PullRequest
23 голосов
/ 25 октября 2010

Я пытаюсь установить программное обеспечение на мой сервер Debian Lenny.В частности, Capture-HPC.Я настроил сервер VMWare вместе со всеми необходимыми условиями.Когда я запускаю ant в каталоге, я получаю следующую ошибку:

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

У кого-нибудь есть идеи, что вызывает это?Подробности о моей установке ant приведены ниже:

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

И файл build.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>

Ответы [ 4 ]

29 голосов
/ 25 октября 2010

Это сообщение об ошибке означает, что вы пытаетесь загрузить неосновную задачу, но ресурс, который дополнительно определяет задачу, отсутствует (или не там, где ожидается).

См. Инструкции по установке здесь.

Вы можете либо

  1. найти / скачать банку ant-contrib и вставить ее в свою установку ant (согласно варианту 1 в ссылке выше);или
  2. Измените файл ant (согласно варианту 2 в приведенной выше ссылке), чтобы включить jar ant-contrib во вложенный путь к классам.
15 голосов
/ 09 августа 2013

Решение для Ubuntu:

sudo apt-get install ant-contrib
sudo ln -s /usr/share/java/ant-contrib.jar /usr/share/ant/lib/
7 голосов
/ 08 февраля 2012

Решение для Linux / Debian:

apt-get install ant-contrib
export CLASSPATH=/usr/share/java/ant-contrib.jar
3 голосов
/ 09 февраля 2015

Решение для CentOS / RHEL:

sudo yum install ant-contrib

...