View Full Version : [Eclipse-Ant] Configurare build.xml
Ragazzi ho un problema con il plug-in ant di eclipse, l'ho installato senza troppi problemi ma ora ho un problema a modificare il file build.xml
io ho un'applicazione con un main e varie classi tutto in un package e varie librerie esterne poi ho due file properties che devono essere letti all'esterno del package ora devo creare con ant un file build.xml che mi lancia la mia applicazione solo che non sono riuscito a reperire un file build.xml di facile comprensione.
Mi serve solo sapere come inserire il main le varie classi e come importare le librerie.
Grazie mille x l'aiuto
Ciao Ciao
sottovento
29-06-2006, 11:19
Puoi provare con questo esempio. L'ho scritto un po' in fretta prendendolo da applicazioni gia' fatte, perdona eventuali errori
<project name="myProject" default="dist" basedir=".">
<description>
myProject application build and distribution. (c) 2006 Sottovento
</description>
<!-- Set global properties for distrtool build -->
<property name="src" value="src" />
<property name="build" value="build" />
<property name="dist" value="dist" />
<property name="api" value="api" />
<property name="options" value="options" />
<!-- Preparing classpath with needed libraries -->
<path id="project.class.path">
<pathelement path="${lib}/app.jar" />
<pathelement path="${lib}/commonLib.jar" />
</path>
<!-- Preparing classpath with needed libraries -->
<path id="project.build.class.path">
<pathelement path="${build}" />
</path>
<!-- First target, initialising -->
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the directory structure used by compile and for final distribution -->
<mkdir dir="${build}" />
<mkdir dir="${dist}" />
</target>
<!-- Compiling targets -->
<target name="compile" depends="init" description="Compile all the sources" >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}">
<classpath refid="project.class.path" />
</javac>
</target>
<!-- Copy the macro files in distribution directory. ... -->
<target name="copy" description="Copy needed files into distribution directory" >
<echo message="needed files to ${dist}" />
<copy file="neededFile1.dat" todir="${dist}"/>
<copy file="neededFile2.dat" todir="${dist}"/>
<sync todir="${dist}/icons">
<fileset dir="${options}/icons"/>
</sync>
</target>
<!-- Preparing manifest file -->
<target name="manifest" depends="compile" description="Prepare manifest file" >
<mkdir dir="${build}/META-INF" />
<manifest file="${build}/META-INF/MANIFEST.MF">
<attribute name="Built-By" value="ME" />
<attribute name="Company" value="Downwind AG"/>
<attribute name="Content" value="My application - It's wonderful!"/>
<attribute name="Main-Class" value="de.downwind.mypackage.MainClass" />
<attribute name="Class-Path" value=". myapplication.jar" />
</manifest>
<echo message="Created directory ${build}/META-INF" />
</target>
<!-- Preparing distribution -->
<target name="dist" depends="compile, manifest, copy" description="Code distribution preparation" >
<!-- Create distribution directory, if any -->
<mkdir dir="${dist}" />
<!-- Put everything in ${build} into the distrtool.jar file -->
<jar destfile="${dist}/myapplication.jar" basedir="${build}"
manifest="${build}/META-INF/MANIFEST.MF" >
<exclude name="${build}/META-INF/**" />
</jar>
<echo message="Created jar file ${dist}/myapplication.jar" />
</target>
<!-- Target for cleanup build directories -->
<target name="clean" description="Clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}" />
<delete dir="${dist}" />
<delete dir="${build}/META-INF" />
</target>
<!-- Target for javadoc generation -->
<target name="doc" description="Generate Javadoc documentation" >
<mkdir dir="${api}" />
<javadoc packagenames="de.downwind.mypackage.*"
sourcepath="${src}"
classpathref="project.class.path"
destdir="${api}"
author="true"
version="true"
use="true"
private="true"
windowtitle="My Application API documentation" />
</target>
</project>
Puoi provare con questo esempio. L'ho scritto un po' in fretta prendendolo da applicazioni gia' fatte, perdona eventuali errori
ti ringrazio sottovento per l'esempio ma mi sembra (spero) un pò troppo esagerato per quello che dovrei fare io, ti voglio spiegare un po meglio come è strutturato il mio eclipse così setterò solo l'indispensabile:
ti allego una foto del mio progetto:
http://img45.imageshack.us/img45/6341/ecli5ct.th.jpg (http://img45.imageshack.us/my.php?image=ecli5ct.jpg)
come vedi il mio progetto è quello chiamato Ant ha un main e varie classi nel'unico package PerformWSSecurity e alcuni file di vitale importanza fuori dal package ma al'interno del progetto, tutto questo funziona con librerie che ho importato con la funzione external jar.
Ora in poche parole devo fare in modo che mi venga lanciato il main e che si riesca a leggere tute le classi nel package, nel progretto e le librerie esterne.
Scusami ma sono fresco di Ant
Grazie mille x l'aiuto
Ciao
sottovento
29-06-2006, 11:52
Ahia! Purtroppo non conosco Eclipse, conosco solo Ant.
Ho visto nell'immagine che hai ottenuto un fail nella compilazione a causa di un errore contenuto in Ant. Al limite di posso aiutare in quello, ma non so proprio come si usa Eclipse.
ah ho capito ma il file build.xml è lo stesso tu con ant non hai dei package dove leggi le classi e lanci applicazioni? Importando le librerie?
Se ho capito bene...
Prima definisci il classpath:
<path id="test.class.path">
<pathelement path="${mio.file.jar}"/>
<pathelement location="test"/>
<pathelement location="."/>
</path>
Poi lo richiami nel task java con:
<classpath refid="test.class.path"/>
sottovento
29-06-2006, 12:10
Se ho capito bene...
Prima definisci il classpath:
<path id="test.class.path">
<pathelement path="${mio.file.jar}"/>
<pathelement location="test"/>
<pathelement location="."/>
</path>
Poi lo richiami nel task java con:
<classpath refid="test.class.path"/>
Perfetto
High Flying
Sottovento
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.