Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Déploiement java [ Divers / Aide et documentation ] (plop3000)

lundi 14 avril 2008 à 15:18:37 | Déploiement java

plop3000

Bonjour,

Dans le cadre d'un projet, j'ai développé une application. Cette application utilise entre autre un fichier de configuration. Pour le déploiement de l'application je voudrais donc avoir quelquechose du genre :

    - dossierDeMonAppli
              > monAppli.jar
              > monFichierDeConfig.ini

Comment puis je faire pour créer une installation propre ?

Merci d'avance

lundi 14 avril 2008 à 15:54:55 | Re : Déploiement java

Ombitious_Developper

Réponse acceptée !
Salut:

Utilises ANT pour automatiser toutes ces tâches.

lundi 14 avril 2008 à 20:52:06 | Re : Déploiement java

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

+1 pour ANT (il est très pratique pour compiler, générer un jar, créer une archive zip, exécuter une application (un script,  ou autre), etc...)




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

mardi 15 avril 2008 à 08:50:00 | Re : Déploiement java

plop3000

Ok merci pour vos réponses, je vais tester ça

mercredi 16 avril 2008 à 11:54:00 | Re : Déploiement java

plop3000

Bonjour,

J'ai donc testé ANT, ça fonctionne bien, j'ai réussi à faire ce que je voulais mais j'ai encore un petit souci et je ne sais pas comment le régler :

Grace à ANT, j'ai généré un JAR de mon application. Mais mon appli se sert elle meme d'autres JAR et je ne sais pas comment faire pour que gérer ces dépendances. Y a t il une technique avec ANT ?

J'ai essayé de mettre les jar dont se sert mon appli dans le même dossier que mon appli mais ça ne fonctionne pas, j'obtiens une exception NoClassDefFound qui pointe sur une des classes du jar dont dépend mon appli.

Une idée ?



mercredi 16 avril 2008 à 12:24:26 | Re : Déploiement java

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

recréer le manifest de ton jar en ajoutant les dépendances dans le champ Class-Path.

exemple :
<jar jarfile="le nom du jar" basedir="./bin">
  <manifest>
    <attribute name="Main-Class"            value="la main classe"/>
    <attribute name="Class-Path"            value="jar1.jar , jar2.jar , jar3.jar"/>
  </manifest>
</jar>




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

mercredi 16 avril 2008 à 17:09:14 | Re : Déploiement java

plop3000

Voila ce que j'ai dans mon fichier build.xml :

<project name="projet" basedir=".">
   
        <property name="src.dir" value="src"/>
        <property name="build.dir" value="build"/>
        <property name="dist.dir" value="monAppli"/>
        <property name="ressources.dir" value="ressources"/>
        <property name="gram.dir" value="grammaires"/>
        <property name="main-class" value="main.monMain"/>
   
        <target name="init">
            <!-- Create the build directory structure used by compile -->
            <mkdir dir="${build.dir}" />
          </target>
   
          <target name="compile" depends="init">
            <!-- Run javac to compile the source files -->
            <javac srcdir="${src.dir}" destdir="${build.dir}">
              <classpath>
                <!-- Include all jar files  -->
                <fileset dir="import">
                      <include name="*.jar"/>
                </fileset>
              </classpath>
            </javac>
          </target>
        
   
        <!-- target lancée comme suit : "ant tacheJSA" dans la console -->
        <target name="tacheJSA" depends="compile">
           
            <!-- création d'un répertoire pour le JAR -->
            <mkdir dir="${dist.dir}"/>
            <mkdir dir="${dist.dir}/${ressources.dir}"/>
            <mkdir dir="${dist.dir}/${gram.dir}"/>
           
            <!-- Copie des fichiers de ressources nécessaires-->
            <copy file="ressources/config.ini" todir="${dist.dir}/${ressources.dir}"/>
            <copy file="ressources/rules.xml" todir="${dist.dir}/${ressources.dir}"/>
            <copy file="ressources/mots_clefs.xls" todir="${dist.dir}/${ressources.dir}"/>
           
            <!-- Copie des fichiers grammaires-->
            <copy file="ressources/DmlSQL2.g" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/SqlSQL2.g" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/DmlSQL2ImpTokenTypes.txt" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/SqlSQL2ImpTokenTypes.txt" todir="${dist.dir}/${gram.dir}"/>
           
            <!-- création du JAR -->
            <jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${build.dir}">
                    <manifest>
                        <!-- on indique la classe principale du JAR-->
                        <attribute name="Main-Class" value="${main-class}"/>
                        <!-- on indique les jar dont on a besoin-->
                        <attribute name="Class-Path" value="jxl.jar, jdom.jar, antlr-2.7.7.jar"/>
                    </manifest>
            </jar>   
       
        </target>
   
</project>

Mais dès que je lance l'appli via la commande "java -jar projet.jar" il me sort des erreurs de classNotFound en pointant sur une des classes des jar dont dépend mon projet.

Please help...

mercredi 16 avril 2008 à 17:38:55 | Re : Déploiement java

Twinuts

Membre Club Administrateur CodeS-SourceS

Salut,

met des espaces avant et après les virgules dans le champs class-path.
Tel que tu as renseigné le champ class-path les jar sont au même niveau que le jar de l'application.
Si ce n'est pas le cas et qu'ils sont dans un répertoire 'lib' (par exemple) il faut que tu mettes :
<attribute name="Class-Path" value="./lib/jxl.jar , ./lib/jdom.jar, ./lib/antlr-2.7.7.jar"/>

ATTENTION : ne met pas d'anti slash, même si tu es sous windows







------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

jeudi 17 avril 2008 à 10:38:43 | Re : Déploiement java

plop3000

De mieux en mieux, maintenant lorsque je lance mon jar, celui ci ne trouve pas ma classe main !!! Je vois pas le problème...

Ma classe main est pourtant JSAWithParameters qui se trouve dans le package main... ANT parvient à me créer mon JAR sans erreurs mais au moment où je lance le JAR j'ai l'erreur suivante :

"Exception in thread "main" java.lang.NoClassDefFoundError : main/JSAWithParameters
Caused by: java.lang.ClassNotFoundException : main.JSAWithParameters

<?xml version="1.0" encoding="UTF-8"?>
<project name="JSA" basedir=".">
   
        <property name="src.dir" value="src"/>
        <property name="build.dir" value="build"/>
        <property name="Main-Class" value="main.JSAWithParameters"/>
        <property name="dist.dir" value="AppliJSA"/>
        <property name="ressources.dir" value="ressources"/>
        <property name="gram.dir" value="grammaires"/>
   
        <target name="init">
            <!-- Create the build directory structure used by compile -->
            <mkdir dir="${build.dir}" />
          </target>
   
          <target name="compile" depends="init">
            <!-- Run javac to compile the source files -->
            <javac srcdir="${src.dir}" destdir="${build.dir}" />
          </target>
        
   
        <!-- target lancée comme suit : "ant tacheJSA" dans la console -->
        <target name="tacheJSA" depends="compile">
           
            <!-- création d'un répertoire pour le JAR -->
            <mkdir dir="${dist.dir}"/>
            <mkdir dir="${dist.dir}/${ressources.dir}"/>
            <mkdir dir="${dist.dir}/${gram.dir}"/>
           
            <!-- Copie des fichiers de ressources nécessaires-->
            <copy file="ressources/config.ini" todir="${dist.dir}/${ressources.dir}"/>
            <copy file="ressources/rules.xml" todir="${dist.dir}/${ressources.dir}"/>
            <copy file="ressources/mots_clefs.xls" todir="${dist.dir}/${ressources.dir}"/>
           
            <!-- Copie des fichiers grammaires-->
            <copy file="ressources/DmlSQL2.g" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/SqlSQL2.g" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/DmlSQL2ImpTokenTypes.txt" todir="${dist.dir}/${gram.dir}"/>
            <copy file="ressources/SqlSQL2ImpTokenTypes.txt" todir="${dist.dir}/${gram.dir}"/>
           
            <!-- création du JAR nommé JSA-->
            <jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${build.dir}">
                    <manifest>
                        <!-- on indique la classe principale du JAR-->
                        <attribute name="Main-Class" value="${Main-Class}"/>
                        <!-- on indique les jar dont on a besoin-->
                        <attribute name="Class-Path" value="C:/jxl.jar , C:/jdom.jar , C:/antlr-2.7.7.jar"/>
                    </manifest>
            </jar>
       
        </target>
   
</project>

jeudi 17 avril 2008 à 10:52:31 | Re : Déploiement java

Twinuts

Membre Club Administrateur CodeS-SourceS

Salut,

tu as regardé si dans le jar tu as bien tout, et que son manifest soit bien renseigné ?

ARRRRRRRGGGGGG, c'est quoi ce C: dans ton Class-Path ?????????????????? jamais tu fais ça..... de plus java c'est portable hors tes clients ne sont pas forcément TOUS sous windows donc ton C:............... et même si tu brides java sous windows, jamais tu install des fichiers à la racine du DD d'un client... au minimum tu fais un répertoire lib (ou autre) dans ton projet et tu y colle le tout..... une application n'est pas censé s'installer à la sauvage en mettant des fichiers partout... elle est plutôt censé rester dans son sandbox.






------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO



Cette discussion est classé dans : java, application, déploiement


Répondre à ce message

Sujets en rapport avec ce message

déploiement d'une application Java via java Webstart [ par ourka631 ] Bonjour,Je vous demande comment je peux installer mes propres classes Java, ainsi que mes fichiers.dll et .jar pour le déploiement de mon application application client serveur en java [ par florent1 ] Voici mon problème:je dois réaliser une application client serveur en java (avec Jbuilder). Cette appli devra attaquer une base Oracle.Est ce que l'in Fenêtre DOS [ par MHidden ] Bonjour, Je développe une application Java sous Windows. Quand je l'exécute, une fenêtre DOS s'ouvre, et ensuite la fenêtre de l'appli apparaît. Mais Icône pour application Java [ par Mikonyx ] Est-il possible de remplacer la tasse de café présente dans toutes les applications Java par un icône personnel? Ah aussi... existe t'il un equivalent Exécuter une ligne de commande depuis une application... [ par nan ] Bonjour tout le monde,Alors voilà je débute en Java et je me demande comment il est possible d'éxécuter une ligne de commande avec arguments et optio Pq TOMCAT comme serveur ??? [ par Ghyzi ] Bonjour,je dois développer un logiciel en java dans le cadre de mes études.J'utilise un modèle client-serveur. Je veux donc mettre mon application pri Lancement d'application à partir de Java [ par BugsByte ] Salut,J'ai plusieurs questions concernant le lancement d'application à partir d'un programme Java:Est-il possible de lancer une application à partir d Réalisation d'une application JAVA qui permet de decouper une image [ par tarikphp ] Bonjour,bon,je suis entrain de preparer mon projet de fin d'etude.je vaux realiser une application JAVA qui permet de decouper une image en plusieurs executable java ??? [ par dread_20 ] Bonjour, je souhaiterai savoir s'il est possible de créer une application a partir de sources en java.Et le plus dur, que cette application puisse tou Image en java [ par Fraisoo37 ] Bonjour,Je suis en train de réaliser une application java et j'aimerais insérer des images dans mon application.J'ai divers Panels et dans le panel du


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.