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 :

Problème classpath d'un java avec "main" devant attaquer des classes d'une application web


Sujet :

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 classpath d'un java avec "main" devant attaquer des classes d'une application web
    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
    11
     
     
    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
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    J'ai du mal a comprendre le souci :
    C'est un pb de déploiement (sur tomcat avec fichier de conf ?) ou de de conception (choisir un entry point?) et/ou de path ???

  4. #4
    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
    Je souhaiterai connaitre une méthode propre.

    Mon application Web fonctionne très bien

    mais je ne sais pas s'il y a un moyen plus propre que lancer le code suivant
    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
    afin de lancer un programme (qui n'est pas web) mais qui va utiliser exactement les mêmes classes que l'application web (à part dmist.TestDmistInitiale qui n'est qu'un "main")


    Cordialement

  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
    Personne n'a lancé un programme en ligne de commande en utilisant des méthodes d'une applications Web?

Discussions similaires

  1. Problème d'interface en Java avec Eclipse
    Par lou87 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 26/01/2012, 17h02
  2. Problème d'affichage des formulaires d'une application Web
    Par yimson dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 16/03/2011, 09h06

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