2010-10-25 23 views
22

Je tente d'installer un logiciel sur mon serveur Debian Lenny. Plus précisément, Capture-HPC. J'ai installé le serveur VMWare, avec tous les prérequis. Lorsque je vais exécuter ant dans le répertoire, j'obtiens l'erreur suivante:ANT Problèmes: net/sf/antcontrib/antcontrib.properties

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

Quelqu'un at-il des idées de ce qui cause? Les détails concernant mon installation de fourmis sont les suivants:

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> 
+0

Après Si vous installez antcontrib, vous devez utiliser pour référencer dans vos scripts de construction en tant que net/sf/antcontrib/antcontrib.properties contient uniquement des tâches pour les versions ant avant Ant 1.6.x – Rebse

Répondre

27

Ce message d'erreur indique que vous tentez de charger une tâche non-core, mais la ressource qui définit en outre la tâche n'est pas présent (ou pas où prévu).

Voir les instructions d'installation here.

Vous pouvez

  1. find/télécharger le pot ant-contrib et le mettre dans votre installation ant (selon l'option 1 dans le lien ci-dessus); ou
  2. Modifiez votre fichier ant (comme dans l'option 2 du lien ci-dessus) pour inclure le fichier ant-contrib dans un classpath imbriqué.
+0

Mis à jour. Avez-vous le pot anti-contrib? – Synesso

+0

Où pourrais-je chercher ceci? J'ai téléchargé ant-contrib, mais je n'arrive pas à le trouver dans les fichiers téléchargés. Je ne connais pas bien la fourmi. – Julio

+2

Vous avez téléchargé ant-contrib-1.0b3-bin.zip? À l'intérieur, vous trouverez ant-contrib-1.0b3.jar. Ignorez le reste des fichiers. Placez le fichier jar dans le répertoire lib de votre installation ant et réessayez. – Synesso

6

Solution pour Linux/Debian:

apt-get install ant-contrib 
export CLASSPATH=/usr/share/java/ant-contrib.jar 
15

Solution pour Ubuntu:

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

Solution pour CentOS/RHEL:

sudo yum install ant-contrib