web-dev-qa-db-fra.com

Problèmes ANT: net / sf / antcontrib / antcontrib.properties

J'essaie d'installer un logiciel sur mon serveur Debian Lenny. Plus précisément, Capture-HPC. J'ai installé le serveur VMWare, avec toutes les conditions préalables. Lorsque je vais exécuter ant dans le répertoire, j'obtiens l'erreur suivante:

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

Quelqu'un a des idées sur la cause de cela? Les détails sur mon installation de fourmi suivent:

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

Et le fichier 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>
24
Julio

Ce message d'erreur indique que vous essayez de charger une tâche non principale, mais que la ressource qui définit davantage la tâche n'est pas présente (ou pas là où elle était prévue).

Voir les instructions d'installation ici .

Tu peux soit

  1. trouver/télécharger le ant-contrib jar et placez-le dans votre ant installation (selon l'option 1 dans le lien ci-dessus); ou
  2. Modifiez votre fichier ant (selon l'option 2 dans le lien ci-dessus) pour inclure le pot ant-contrib dans un chemin de classe imbriqué.
29
Synesso

Solution pour Ubuntu:

Sudo apt-get install ant-contrib
Sudo ln -s /usr/share/Java/ant-contrib.jar /usr/share/ant/lib/
16
Alan Q.

Solution pour Linux/Debian:

apt-get install ant-contrib
export CLASSPATH=/usr/share/Java/ant-contrib.jar
7
georgik

Solution pour CentOS/RHEL:

Sudo yum install ant-contrib

3
Prasad Bhimaraju