IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

[ANT] Débutant : inclure des libs dans un JAR


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 50
    Par défaut [ANT] Débutant : inclure des libs dans un JAR
    Bonjour,

    je suis débutant avec ANT et l'utilises actuellement avec NetBeans pour créer des JAR de mes projets.
    Seulement, je n'arrive pas à lui indiquer d'inclure les librairies contenues dans un répertoire lib (ou libs ) au JAR final.

    Du coup, lorsque je fais un JAR, je suis obligé de fournir un répertoire avec les librairies pour pouvoir l'exécuter... pas terrible

    De plus, mon projet utilise un fichier .properties pour extraire des paramètres de config.
    Lui, par contre, est inclus dans le JAR final. J'aimerais qu'il ne s'y trouve pas afin que l'utilisateur puisse le paramétrer à la main.

    D'avance merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu peux nous poster ton script ant ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 50
    Par défaut
    Bien sûr !
    Quoi que comme j'utilise Net Beans, je ne sais pas vraiment s'il est stocké ou généré à la volée...

    Voici un fichier : project.properties "Hope this help"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    application.args=
    build.classes.dir=${build.dir}/classes
    build.classes.excludes=**/*.java,**/*.form
    # This directory is removed when the project is cleaned:
    build.dir=build
    build.generated.dir=${build.dir}/generated
    # Only compile against the classpath explicitly listed here:
    build.sysclasspath=ignore
    build.test.classes.dir=${build.dir}/test/classes
    build.test.results.dir=${build.dir}/test/results
    debug.classpath=\
        ${run.classpath}
    debug.test.classpath=\
        ${run.test.classpath}
    # This directory is removed when the project is cleaned:
    dist.dir=dist
    dist.jar=${dist.dir}/MonProjet.jar
    dist.javadoc.dir=${dist.dir}/javadoc
    jar.compress=true
    javac.classpath=\
        ${libs.absolutelayout.classpath}
    # Space-separated list of extra javac options
    javac.compilerargs=
    javac.deprecation=true
    javac.source=1.6
    javac.target=1.6
    javac.test.classpath=\
        ${javac.classpath}:\
        ${build.classes.dir}:\
        ${libs.junit.classpath}
    javadoc.additionalparam=
    javadoc.author=false
    javadoc.encoding=
    javadoc.noindex=false
    javadoc.nonavbar=false
    javadoc.notree=false
    javadoc.private=false
    javadoc.splitindex=true
    javadoc.use=true
    javadoc.version=false
    javadoc.windowtitle=
    main.class=monProjet.Main
    manifest.file=manifest.mf
    meta.inf.dir=${src.dir}/META-INF
    platform.active=default_platform
    run.classpath=\
        ${javac.classpath}:\
        ${build.classes.dir}
    # Space-separated list of JVM arguments used when running the project
    # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
    # or test-sys-prop.name=value to set system properties for unit tests):
    run.jvmargs=
    run.test.classpath=\
        ${javac.test.classpath}:\
        ${build.test.classes.dir}
    src.dir=src
    test.src.dir=test
    J'ai trouvé ça aussi, je sais pas si c'est du Ant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    copyfiles.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\ant\\extra\\copyfiles.jar
    default.javac.source=1.6
    default.javac.target=1.6
    jspc.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\ant\\lib\\ant.jar:C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\servlet2.5-jsp2.1-api.jar:${j2ee.platform.classpath}:C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\glassfish-jspparser.jar:C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\glassfish-logging.jar:C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\commons-logging-1.0.4.jar
    libs.absolutelayout.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\AbsoluteLayout.jar
    libs.absolutelayout.javadoc=
    libs.absolutelayout.src=
    libs.CopyLibs.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\ant\\extra\\org-netbeans-modules-java-j2seproject-copylibstask.jar
    libs.CopyLibs.javadoc=
    libs.CopyLibs.src=
    libs.jaxb20.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\activation.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-impl.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-xjc.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jsr173_api.jar
    libs.jaxb20.javadoc=
    libs.jaxb20.src=
    libs.jaxrpc16.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\activation.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\FastInfoset.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jax-qname.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jaxp-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jaxrpc-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jaxrpc-impl.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jaxrpc-spi.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\jsr173_api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\mail.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\relaxngDatatype.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\saaj-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\saaj-impl.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxrpc16\\xsdlib.jar
    libs.jaxrpc16.javadoc=
    libs.jaxrpc16.src=
    libs.jaxws20.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\activation.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\FastInfoset.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\http.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-impl.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxb-xjc.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxws-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxws-rt.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jaxws-tools.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jsr173_api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jsr181-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\jsr250-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\saaj-api.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\saaj-impl.jar;C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\jaxws20\\sjsxp.jar
    libs.jaxws20.javadoc=
    libs.jaxws20.src=
    libs.jsf.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\commons-beanutils.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\commons-collections.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\commons-digester.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\commons-logging.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\jsf-api.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jsf\\jsf-impl.jar
    libs.jsf.javadoc=C:\\Program Files\\netbeans-5.5\\enterprise3\\docs\\javaee5-doc-api.zip
    libs.jsf.src=
    libs.jstl11.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\standard.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\jstl.jar
    libs.jstl11.javadoc=C:\\Program Files\\netbeans-5.5\\enterprise3\\docs\\javaee5-doc-api.zip
    libs.jstl11.src=
    libs.junit.classpath=C:\\Program Files\\netbeans-5.5\\ide7\\modules\\ext\\junit-3.8.1.jar
    libs.junit.javadoc=C:\\Program Files\\netbeans-5.5\\ide7\\docs\\junit-3.8.1-api.zip
    libs.junit.src=
    libs.struts.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\antlr.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\commons-beanutils.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\commons-digester.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\commons-fileupload.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\commons-logging.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\commons-validator.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\jakarta-oro.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\struts\\struts.jar
    libs.struts.javadoc=C:\\Program Files\\netbeans-5.5\\enterprise3\\docs\\struts-1.2.9-javadoc.zip
    libs.struts.src=
    libs.swing-layout.classpath=C:\\Program Files\\netbeans-5.5\\platform6\\modules\\ext\\swing-layout-1.0.jar
    libs.swing-layout.javadoc=C:\\Program Files\\netbeans-5.5\\platform6\\docs\\swing-layout-1.0-doc.zip
    libs.swing-layout.src=
    libs.toplink.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\toplink\\toplink-essentials.jar;C:\\Program Files\\netbeans-5.5\\enterprise3\\modules\\ext\\toplink\\toplink-essentials-agent.jar
    libs.toplink.javadoc=
    libs.toplink.src=
    nbplatform.default.harness.dir=${nbplatform.default.netbeans.dest.dir}/harness
    nbplatform.default.netbeans.dest.dir=C:\\Program Files\\netbeans-5.5
    wsclientuptodate.classpath=C:\\Program Files\\netbeans-5.5\\enterprise3\\ant\\extra\\wsclientuptodate.jar

  4. #4
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    De mon point de vue je ne trouve pas très bon de combiner le jar de ton application avec les jars tierces (d'ailleurs personne ne fait ça)
    Donc pour moi se problème n'en est pas un; à la limite si c'est embêtant d'avoir à livrer un répertoire à côté tu peux faire un zip (via ant)de tout ça et le donner aux utilisateurs ( a la limite se sera mieux car tu devras donner ton fichier properties à part)
    De cet manière l'utilisateur dézippe tout de bien configuré

    Maintenant pour ne pas inclure ton fichier properties dans ton jar tu peux utiliser l'attribut exclude de la tache jar
    Il y a plusieurs exemple dans le lien de la tache jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <jar destfile="${dist}/lib/app.jar"
           basedir="${build}/classes"
           excludes="**/Test.class"
      />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <jar destfile="${dist}/lib/app.jar"
           basedir="${build}/classes"
           includes="mypackage/test/**"
           excludes="**/Test.class"
      />

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Je sais que je suis en retard mais si jamais quelqu'un est toujours intéressé, pour exclure un fichier du .jar dans netbeans, on peut le faire de la manière suivante : "click droit" sur le projet "properties" puis dans la partie "packing" il y a un champ pour exclure des fichier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. inclure des libs dans un jar
    Par Cram_N7 dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2007, 15h35
  2. inclure des resources dans le jar avec build-impl.xml
    Par broumbroum dans le forum NetBeans
    Réponses: 2
    Dernier message: 08/01/2007, 15h24
  3. inclure des fichiers dans un .jar
    Par cysboy dans le forum Multimédia
    Réponses: 3
    Dernier message: 11/09/2006, 13h56
  4. Réponses: 5
    Dernier message: 11/04/2006, 16h39
  5. [JAR][DLL][path] inclure des DLLs dans un jar
    Par blaz dans le forum Général Java
    Réponses: 5
    Dernier message: 28/07/2005, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo