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

Développement Web en Java Discussion :

Problème de classpath


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 109
    Points : 32
    Points
    32
    Par défaut Problème de classpath
    Bonjour.

    Je vous contacte car je suis confronté à un problème, et je ne sais pas comment le résoudre proprement.

    J'ai donc développé via Eclipse une application Web qui fonctionne sous tomcat.

    Pour d'autres besoins (non web), j'ai créé des classes java contenant des "main". Ces classes sont dans le même projet Eclipse:

    exemple :
    1/ pour des tests sans avoir à me reconnecter sur la page Web

    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
     
    public class TestDmistInitiale
    {
     
     
        public static void main(String[] args)
        {	int annee = 2013;
        	int mois = 02;
        	Date a = new Date();
        	System.out.println("main");
        	List<Activite> listeActivite = new ActiviteDAO().findByWhereAaMm(annee, mois);
            for (Activite activite : listeActivite)
            {
            	activite.calculerCotisation();
            }
    	System.out.println("fin calacul cotis" + (new Date().getTime()-a.getTime()));
        }
    }
    2/ le plus important : pour gérer une interface entrante afin d'alimenter une base de données (celle que je me sers dans l’application web), j'ai créé une methode insertActivite() qui appelle lit mon fichier et utilise toutes mes classes de l'application Web (les DAO, les classes pour se connecter à la base de données, les classes de log...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class InsertionBaseACTENIM
    {
        public static void main(String[] args)
        {
        	System.out.println("main");
        	insertActivites();
        	System.out.println("fin");
        }
    }

    En exécutant ces "main" via Eclipse, il n'y a aucun problème car le classpath est bien défini (tous les jar et java qui sont dans mon application web dans WebContent/WEB-INF/lib, tous les jars de tomcat). Cela donne une commande java du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     C:\Java\jdk1.6.0_17\bin\java.exe  -classpath "T:\eclipse_workspace\DMIST\WebContent\WEB-INF\src\java;T:\eclipse_workspace\DMIST\WebContent\WEB-INF\lib\....
    ;T:\Apache Group\Tomcat 5.5\common\lib\..." dmist.TestDmistInitiale
    Par contre, je me demande comment le faire fonctionner lorsque cela sera sur un serveur.
    Pour l'application Web, je vais mettre un war sur tomcat/webapps qui va se déployer dans ce dossier. (déploiement normal).
    Par contre, pour l'interface entrente qui est "non-Web", faut-il simplement que je refasse un shell comme celui ci-dessus attaquant les fichiers qui se sont déployés dans le dossier webapps?
    Ou y-aurait-il une autre méthode? Attaquer directement le war?

    En effet la difficulté est de mettre dans le classpath tous les jar (à la fois ceux de tomcat et ceux présent dans le war).

    Merci d'avance pour vos réponses.
    Johann

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 109
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    Personne n'a de solution?

    L'idée ne serait-elle pas de crée un projet A dans eclipse dans lequel je mets toutes les classes java "partagées", c'est à dire, les DAO, les classes utilitaires...
    Ce projet fera alors un JAR

    et un projet web dans lequel il y a toutes la partie web et les bibliothèques liées au framework, auquel j'incluerai le jar du précédent projet?

    Merci d'avance

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 109
    Points : 32
    Points
    32
    Par défaut
    Personne n'a lancé un programme en ligne de commande en utilisant des méthodes d'une applications Web?

  4. #4
    Membre actif Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Points : 270
    Points
    270
    Par défaut
    Pourquoi ne regrouppe tu pas le tout dans le meme projet? cel ne te causerai t'il pas moins de probleme.
    Une question pourquoi tu ass pris le choix de les separer?
    Ne testez jamais une erreur que vous ne savez pas gérer.
    de ne pas oublier

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 109
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    Aujourd'hui, cela fait parti du même projet dans Eclipse.
    Il n'y a donc pas de problème pour exécuter les main() dans Eclipse, car le classpath est géré par Eclipse.

    Ma question est comment faire le plus propre afin d'exécuter ces main() une fois le war déployé sur Tomcat (donc hors Eclipse).

    Merci d'avance.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Points : 71
    Points
    71
    Par défaut
    Bonjour,
    as-tu trouvé une réponse?
    Je suis confronté exactement au même problème et impossible de trouver la réponse.
    Je vais créer un nouveau fil de discussion pour cela.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 109
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    Non, je n'ai pas eu de réponse.
    Je pense donc faire un petit shell comme celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Java\jdk1.6.0_17\bin\java.exe  -classpath "T:\eclipse_workspace\DMIST\WebContent\WEB-INF\src\java;T:\eclipse_workspace\DMIST\WebContent\WEB-INF\lib\....
    ;T:\Apache Group\Tomcat 5.5\common\lib\..." dmist.TestDmistInitiale
    mais avec le chemin du serveur.

Discussions similaires

  1. [EAR] NoClassDefFoundError (problème de classpath?)
    Par Bb_TiTi dans le forum Java EE
    Réponses: 3
    Dernier message: 28/03/2006, 17h38
  2. [MySQL-JDBC] Problème de CLASSPATH
    Par stukov dans le forum JDBC
    Réponses: 3
    Dernier message: 14/03/2006, 13h55
  3. [ jar ] Problème de ClassPath
    Par remyli dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/07/2005, 14h07
  4. [ant]Problème de classpath
    Par le Daoud dans le forum Eclipse Java
    Réponses: 36
    Dernier message: 05/07/2005, 08h34
  5. [ Eclipse ][classpath] Problème de classpath
    Par pista dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/04/2004, 22h18

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