Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ant creare cartelle

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312

    ant creare cartelle

    Salve,
    non so se sia la sessione giusta, se così non fosse chiedo scusa. Sto iniziando adesso con ant e dopo aver fatto l'installazione ho creto il primo file build.xml in cui creco di creare una cartella, ma non funziona.
    File build:
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <project name ="Im" basedir=".">
    <property name="build" value="${basedir}/builder"/>
    <target name ="init">
    <mkdir dir="${build}"/>
    </target>
    
    </project>
    la compilazione avviene con successo ma non crea nessuna cartella. Come mai?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Mi correggo, la compilazione va a buon fine ma non mi stampa proprio il target init

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: ant creare cartelle

    Originariamente inviato da lio.b
    ho creto il primo file build.xml in cui creco di creare una cartella, ma non funziona.
    In un buildfile di Ant ci possono essere una serie di "target" e ognuno può dipendere da altri target. E quando avvii il buildfile, Ant può partire da un target di default (specificato in <project>) o dai target che passi tu esplicitamente come argomenti.

    Nel buildfile che hai postato non c'è un default e a meno che hai messo altri target (che non vedo) che dipendono dal "init" o hai passato come argomento quel init .... non viene di certo invocato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Si scusa me se sono accorto dopo. E' la prima volta che lo uso e a furia di leggere documentazione mi sono confuso. Una cosa non riesco a capire: una volta che ho compilato tutti i miei sorgenti java come posso eseguire un file? Nel senso devo far partire due classi che ovviamente contengono il metodo main

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    La mia idea è quella di fare un file batch così da li faccio partire anche il main. Ho realizzato un semplice build.xml. Se da shell digito prima ant init2 e poi ant compila funziona tutto a perfezione. Se invece nel file batch scrivo questo:
    cd C:\
    ant init2
    ant compila
    mi crea la cartella "class" che è quella che contiene i .class compilati ma non compila un bel niente. Come è possibile? Per maggio dettaglio posto anche il file build.xml
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <project name="firstProject" default="init2" basedir=".">
    
    <property name="src" value="${basedir}/src"/>
    <property name="class" value="${basedir}/class"/>
    <property name="Repository" value="C:\University\Progetto di reti\Repository"/>
    <property name="tmp" value="C:\University\Progetto di reti\Network\tmp"/>
    
    
    
         <target name="init" description="Creazione delle directory se non esistono">
                 <mkdir dir="${class}"/>
                 <mkdir dir="${Repository}"/>
    
         </target>
         
         <target name="init2" depends="init" >
    
                 <mkdir dir="${tmp}"/>
                 </target>
    
         <target name="compila" description="compilazione dei sorgenti" >
         <javac srcdir="${src}" destdir="${class}"/>
         
         </target>
    </project>

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lio.b
    Se da shell digito prima ant init2 e poi ant compila funziona tutto a perfezione.
    Sì ma non è così che dovresti usarlo!! Dovresti sfruttare le "dipendenze" .... che non hai usato completamente e perfettamente.

    Ecco un esempio, minimale, ma che compila e impacchetta pure in jar, impostando correttamente il Main-Class nel manifest del jar:

    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <project name="Esempio" default="package">
      <description>Build file per progetto di esempio</description>
    
      <target name="init">
        <property name="sources.dir" value="src" />
        <property name="build.dir" value="build" />
        <property name="classes.dir" value="${build.dir}/classes" />
        <property name="jar.file" value="esempio.jar" />
        <property name="main.class" value="EsempioMainClass" />
      </target>
    
      <target name="clean" depends="init" description="Pulisce">
        <delete dir="${build.dir}" />
        <delete file="${jar.file}" />
      </target>
    
      <target name="prepare" depends="init">
        <mkdir dir="${classes.dir}" />
      </target>
    
      <target name="compile" depends="prepare" description="Compila">
        <javac srcdir="${sources.dir}" destdir="${classes.dir}" />
      </target>
    
      <target name="package" depends="compile" description="Impacchetta">
        <jar destfile="${jar.file}">
          <fileset dir="${classes.dir}" />
          <manifest>
            <attribute name="Main-Class" value="${main.class}" />
          </manifest>
        </jar>
      </target>
    </project>
    Osserva bene le dipendenze e nota che il default è "package". Basta lanciare semplicemente 'ant' (senza specificare nulla) e lui fa il package, eseguendo prima tutte le dipendenze.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.