Bonjour,
Je cherche à programmer un script pour lancer l'exécution d'un projet contenu dans Eclipse.
Quelqu'un saurait-il m'expliquer comment faire ?
Merci d'avance pour votre aide.
Version imprimable
Bonjour,
Je cherche à programmer un script pour lancer l'exécution d'un projet contenu dans Eclipse.
Quelqu'un saurait-il m'expliquer comment faire ?
Merci d'avance pour votre aide.
Bonjour,
Ta question n'est pas assez précise car tu n'indiques pas la nature du projet.
De plus, il faut considérer qu'Eclipse est un environnement de développement, pas une plate-forme d'exécution, sauf dans le cas d'une application de type Eclipse RCP. Est-ce ton cas ?
Oui effectivement c'est une application RCP qui a comme objectif d'analyser le code source d'un autre projet et construire par la suite un graphe des appels de méthodes.
merci
Salut,
Alors, un début de réponse: pour lancer un autre projet programmatiquement, il te faut passer par une ILaunchConfiguration.
Tu peux en créer une de zéro ou en utiliser une existante.
Pour en créer une de zéro, tu peux faire comme suit:
Il te faut ajouter une dépendance vers le plug-in org.eclipse.debug.ui (pour tout ce qui est gestion des configurations de lancement) et une dépendance vers le plug-in org.eclipse.jdt.launching (pour les configurations Java).
Pour une meilleure utilisation future, on peut aussi sauvegarder la configuration dans un fichier qui sera donc récupérer au passage suivant.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); ILaunchConfigurationType type = manager .getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION); // On a récupéré le type de configuration pour une application Java. ILaunchConfigurationWorkingCopy configuration; try { // On créé une nouvelle instance de launch. configuration = type.newInstance(null, "My Launch"); // On lui donne comme attribut le nom du projet à "lancer". configuration.setAttribute( IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "Test"); // On lui donne comme attribut le nom de la classe à lancer. configuration.setAttribute( IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "com.my.package.test.MyTest"); // On marque la configuration comme à lancer en arrière plan: configuration.setAttribute( IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true); // On exécute cette configuration. DebugUITools.launch(configuration, ILaunchManager.DEBUG_MODE); } catch (CoreException e) { // Gestion de l'exception }
Voilà, à+
Gueritarish
Merci pour la réponse.
Bon ce script est pour lancer un projet depuis un autre.
Si possible, moi je veux lancer le projet sans démarrer Eclipse manuellement (par la console par exemple).
Alors pas besoin de chercher midi à quatorze heures... Il te suffit de faire un jar et tu pourras l'exécuter depuis la console. :roll:
Je crée un projet java et je mets votre script adapté. et c'est celui là que je fais sous forme jar ?
Ou bien directement le projet que je veux lancer ?
C'est le projet que tu veux lancer qu'il faut directement exporté sous forme de jar pour pouvoir le lancer dans la console... Comme un projet Java normal en fait. Cf la FAQ Java pour créer un jar.
Merci
Execusez moi si je m'enbete...
bon le script que vous m'a proposé ... normalement faut le mettre ou exactement ???
Si je peux creer un jar pour lancer le projet directement. comment je vais integrer les arguments du projet et VM dans la generation du jar.
Program Arguments
VM ArgumentsCode:-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -project "HeliosProject" -data "D:\TestWks" -debug -consolelog
Code:-Xmx1024m -Dlog4j