j'ai une appli qui utilise un jar "hsqldb.jar", mon build.xml permet de
fabriquer le jar de l'appli "macave.jar" mais j'aimerais savoir s'il
existe une commande qui permettrait d'inclure, par ant, tous les classes
de "hsqldb.jar" de manière à n'utiliser plus qu'un seul jar ???
Pourquoi "Class-Path: lib/macave.jar" dans le manifest?
<zipfileset dir="lib/hsqldb.jar" prefix="."/> Ce n'est probablement pas ce que tu veux faire: cela met hsqldb.jar dans ton jar comme une resource, alors que tu veux inclure les classes de hsqldb.jar dans ton jar.
Autant pour moi, je n'ai pas pigé les explications sur le web...
Ce que tu veux est fait par <zipgroupfileset>.
Une autre possibilité est d'utiliser la library classworlds dans un uberjar. Cela permet de packager une application former de plusieurs jars dans un seul jar directement exécutable.
Voir http://classworlds.codehaus.org/uberjar.html OK, ça a l'air très intéressant mais je vais d'abord finaliser avec ant.
Pourquoi "Class-Path: lib/macave.jar" dans le manifest?
<zipfileset dir="lib/hsqldb.jar" prefix="."/>
Ce n'est probablement pas ce que tu veux faire: cela met hsqldb.jar dans ton
jar comme une resource, alors que tu veux inclure les classes de hsqldb.jar
dans ton jar.
Autant pour moi, je n'ai pas pigé les explications sur le web...
Ce que tu veux est fait par <zipgroupfileset>.
Une autre possibilité est d'utiliser la library classworlds dans un uberjar.
Cela permet de packager une application former de plusieurs jars dans un
seul jar directement exécutable.
Voir http://classworlds.codehaus.org/uberjar.html
OK, ça a l'air très intéressant mais je vais d'abord finaliser avec ant.
Pourquoi "Class-Path: lib/macave.jar" dans le manifest?
<zipfileset dir="lib/hsqldb.jar" prefix="."/> Ce n'est probablement pas ce que tu veux faire: cela met hsqldb.jar dans ton jar comme une resource, alors que tu veux inclure les classes de hsqldb.jar dans ton jar.
Autant pour moi, je n'ai pas pigé les explications sur le web...
Ce que tu veux est fait par <zipgroupfileset>.
Une autre possibilité est d'utiliser la library classworlds dans un uberjar. Cela permet de packager une application former de plusieurs jars dans un seul jar directement exécutable.
Voir http://classworlds.codehaus.org/uberjar.html OK, ça a l'air très intéressant mais je vais d'abord finaliser avec ant.
-- yt
yvon.thoravalNO-SPAM
Frédéric Lachasse wrote:
Ce que tu veux est fait par <zipgroupfileset>.
bon je m'y suis mis "pour de bon" : <jar jarfile="lib/${app}" basedir="${dst}" update="true"> <manifest> <attribute name ="Main-Class" value="yt.ui.MaCave"/> <attribute name ="Class-Path" value="lib/macave.jar"/> </manifest> <zipgroupfileset dir="lib_bup" includes="hsqldb.jar"> <include name="**/*.properties"/> <include name="**/*.class"/> </zipgroupfileset> </jar>
et ça roule avec un seul jar dans /lib...
reste plus qu'à rendre mon appli double-clickable, mais là je dois changer mon arborescence (base de données)... -- yt