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