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

Java Discussion :

[BATCH] Transformer un dossier en un .jar


Sujet :

Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut [BATCH] Transformer un dossier en un .jar
    Bonjour!

    Je cherche 'a créer un .jar non exécutable 'a partir d'un dossier constitué de plusieurs fichiers .class (ce qui marche bien en faisait la manip bourrine de zipper un dossier puis d'en modifier l'extension).

    Je ne trouve pas la reponse dans la faq et j'ai du mal 'a trouver quoi taper sur google pour avoir ma reponse.
    j'ai trouve des tutos expliquant comment faire un .jar executable, mais ma question doit avoir une reponse bien plus simple...

    Merci beaucoup d'avance!

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    j'ai trouve une piste:
    "C:\Program Files\Java\jdk1.7.0_03\bin\jar" cfv jarfile.jar -c "C:\Documents and Settings\bertrand.duvel\Desktop\XMLconv\bin" "C:\Documents and Settings\bertrand.duvel\Desktop\XMLconv\bin\jarfile\"

    mais il me dit
    c flag requires manifest or input files to be specified


    et quand je mets directement un fichier .class

    "C:\Program Files\Java\jdk1.7.0_03\bin\jar" cfv jarfile.jar -c "C:\Documents and Settings\bertrand.duvel\Desktop\XMLconv\bin" "C:\Documents and Settings\bertrand.duvel\Desktop\XMLconv\bin\jarfile\file.class"

    il me dit
    added manifest
    adding:\bin\jarfile\file.class" (in=9629)(out=3921)(deflated 59%)


    et ne cree aucun .jar
    qu est ce que ca signifie?

  3. #3
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Tu n'utilises pas d'IDE ? Parce que Eclipse, par exemple, te permet de générer le jar sans te prendre la tete... J'imagine que netbeans aussi...

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Par défaut
    Bonjour,

    Pour faire un jar non exécutable pourquoi ne pas zipper le dossier et le renommer en .jar ?

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 119
    Par défaut
    En fait c'est une librairie que tu veux faire ?
    Si oui, c'est pas difficile via la plus part des IDE

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour,
    il faut savoir qu'un .jar n'est rien d'autre qu'un fichier .zip, il n'y a que l'extension qui change. En cela, comme te l'a suggéré Adpar, tu peux zipper ton dossier ou tes fichiers avec ton outil préféré genre winzip, winrar, 7zip en xxxx.zip, et ensuite le renommer en xxxx.jar. C'est simple
    Tu peux aussi passer par ton IDE préféré.
    Mais si tu veux utiliser la commande "jar" provenant du JDK, il s'attend tout bonnement à ce que tu lui spécifies en même temps le fichier MANIFEST.MF à utiliser.

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  7. #7
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    (ce qui marche bien en faisait la manip bourrine de zipper un dossier puis d'en modifier l'extension).
    merci, je ne pensais pas que cette methode etait "officielle"!

    je veux faire ça dans un batch (donc pas en IDE) et 2 choses m'embetent quand meme dans cette methode:
    - ça le fait pas d'avoir ces 2 commandes:
    --> transformer dossier en .jar
    --> modifier l'extension (j'ai toujours du mal 'a croire que ce soit rigoureux...)
    - et, surtout, quelqu'un qui utilise mon programme doit avoir installe 7zip sur son ordinateur

  8. #8
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Je ne vois pas ce qui te fait dire que ce n'est pas rigoureux de zipper un dossier et de nommer le fichier zippé avec l'extension .jar
    Tu parles de rigueur alors que tu ne comprends même pas ce qu'est un .jar
    La différence entre un .jar et un .zip, c'est le nom .. rien d'autre.
    Maintenant, soit tu fais ça via un batch, c'est une bonne solution. Soit tu ne fais pas comme ça, .. et vas trouver autre chose de plus rigoureux.
    En général, on passe par des outils de build comme Ant ou Maven (pour éviter d'être lié à un IDE)
    Si tu le veux via un script batch, c'est ton droit, mais bon courage, tu seras juste lié à Windows (ce qui n'est absolument pas rigoureux)
    Alors si tu veux de la rigueur, tu la joues jusqu'au bout et tu prends Ant ou Maven, sinon tu zippes.
    A bon entendeur ...
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  9. #9
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    merci beaucoup, j'ai fait ca:

    if not exist "C:\Program Files\7-Zip" start /wait iexplore "http://downloads.sourceforge.net/sevenzip/7z920.exe"
    if not exist ".bin\folderName.jar" @"C:\Program Files\7-Zip\7z" a -tzip ".\bin\folderName" ".\bin\folderName"
    cd .\bin\
    ren folderName.zip folderName.jar
    cd \..

    mais mon autre question demeure, comment faire si la personne qui veut utiliser mon .batch n'a pas 7zip?
    parce que cette ligne if not exist "C:\Program Files\7-Zip" start /wait iexplore "http://downloads.sourceforge.net/sevenzip/7z920.exe" conduit au site internet, et c'est pas top..

  10. #10
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Utilises ANT au lieu de faire du .batch et espérer avoir du 7zip installé
    Tu télécharges ANT, tu le mets dans un répertoire à côté, .. et tu lances la tâche qui fait un .zip ou .jar !
    C'est tellement simple, et ça marche partout par ailleurs, (ANT est fait en Java et il est portable ...)
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  11. #11
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    ok je vais essayer ça, merci!

  12. #12
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    Bonjour,
    J'ai un nouveau "petit" souci et j'ai l'impression d'etre aveugle pour ne pas voir d'ou ca vient

    %SOURCEPATH%: "l'endroit ou est le script"
    %SOURCEPATH_BENCH%: "l'endroit ou se trouve la classe bench (mon programme, main class)"


    "C:\Program Files\Java\jdk1.7.0_03\bin\javac" -sourcepath %SOURCEPATH% -d bin\ -classpath "file1.jar;file2.jar";"path\class1.class;path\class2.class" "%SOURCEPATH_BENCH%\Bench.java"

    cd %SOURCEPATH_BENCH%

    "C:\Program Files\Java\jdk1.7.0_03\bin\java" "Bench"

    cd %SOURCEPATH%




    deja ca me rend folle que malgre les guillemets partout autout des variables, j'aie encore "invalid flag: C:\Documents" (il ne comprend pas que c'est C:\Documents and Settings\suite du path\etc)

    mais bon, quand je remplace directement la variable %SOURCEPATH_BENCH% j'ai

    error: could not find or load main class Bench

    qu est ce qui l'empeche de la trouver?
    merci d'avance!!

  13. #13
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Euhhhh, je ne comprends absolument rien à ce que tu dis là
    Tu vas prendre ANT ou pas alors ?
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  14. #14
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    je ne peux pas combiner les 2?
    la il faut que j'avance donc j aimerais bien juste que ça marche avec le batch, et ensuite j'utiliserai ANT pour zipper mes classes...

  15. #15
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    mis à part zipper des fichiers, que voudrais tu faire d'autres d'autres qui justifierai le fait que tu veuilles utiliser un .batch ?
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  16. #16
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    j'ai une commande qui fait appel 'a une fonction pour me creer un fichier XML. Puis je fais une autre commande pour creer des fichiers .java (conteneurs) 'a partir de ce fichier XML.
    Ensuite je transforme les fichiers .java en fichiers .class pour avoir un .jar que je puisse utiliser dans mon programme

  17. #17
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Oui, et ANT suffit largement pour faire tout ça et au moins ANT c'est portable.
    Recherche comment compiler des fichiers .java avec ANT et comment créer le .jar ou .zip après la compilation.
    Ce ne sont pas les solutions/exemples qui manqueront

    Bon courage.
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

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

Discussions similaires

  1. Transformer un dossier de PPT en JPG ?
    Par Grenouille14 dans le forum Powerpoint
    Réponses: 5
    Dernier message: 14/02/2009, 06h29
  2. [batch] transformer command en service
    Par maxeur dans le forum Windows
    Réponses: 4
    Dernier message: 14/01/2008, 14h42
  3. Probleme batch copie de dossier
    Par eric0279 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 08/12/2007, 03h44
  4. [ANT] dossiers dans le jar
    Par lebesnec dans le forum ANT
    Réponses: 2
    Dernier message: 31/08/2006, 09h18
  5. [BATCH] Vérification de dossier
    Par cyber_mdee dans le forum Windows
    Réponses: 12
    Dernier message: 25/10/2005, 20h40

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