Lancer un .jar a partir d'un projet Eclipse (JAVA)
cs_JazzyLove
Messages postés38Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 7 avril 2008
-
10 mars 2008 à 10:27
cs_JazzyLove
Messages postés38Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 7 avril 2008
-
10 mars 2008 à 12:29
Bonjour tout le monde,
Cela fait plus de 5 jours que je cherche sans trouver une solution, le probleme le voici :
il y a un programme .jar qui s'appelle felix.jar, une fois lancé avec la commande "java -jar felix.jar" il offre un shell qui permet d'administrer des bundles, eux meme des fichiers.jar, l'admnistartion comporte entre autres une installation et une desinstallation d'un bundle.
une fois sur le shell de felix, pour installer un bundle par exemple il faut tapper la commande install file:/C:\<chemin du fichier bundle.jar>
Je veux creer une interface graphique qui permet d'administrer ces bundles en faisont appel a felix.jar
L'interface est toute prete dans la quelle il y a un bouton "install". je veux qu'une fois je clique sur ce bouton, l'executable .jar se lance, et la commande install file:/C:\<chemin du fichier bundle.jar> s'excute.
franchement je suisbloqué depuis pas mal de temps et mon projet n'avance pas a cause de ca
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 10 mars 2008 à 11:20
Salut:
Est ce que tu veux charger le JAR ou bien l'exécuter?
cs_JazzyLove
Messages postés38Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 7 avril 2008 10 mars 2008 à 12:29
En fait quand j'utilise cette classe, felix se lance bien et j'arrive a lancer une commande mais je ne peux pas lancer la commande a partir de l'interface graphique.
Je viens d'avoir une idee, je ne sais pas trop si ca va marcher ou pas mais je m'explique :
Comme j'arrive a faire communiquer 2 bundles par l'envoie de chaine de characteres, je me dis que si jamais je construit l'interface graphique sous forme d'un bundle que j'appelerai IHM.jar, et qu'il exsiste deja un bundle tout pret dans felix qui se charge d'executer les commandes ecrites sur le shell de felix, on appelera ce bundle launcher.jar
Donc mon idee est que le bundle IHM.jar envoie la chaine "install file:\<chemin du bundle a installer> au bundle launcher.jar pour que celui ci execute la commande.
public class Activator implements BundleActivator {
public void start(BundleContext context) throws Exception {
// cette methode sert a lancer le bundle, on peut y mettre tout se qu'on veut, notamant du code permettant de // creer une interface graphique
}
public void stop(BundleContext context) throws Exception {
}
}
J'ai construit egalement une interface graphique minimale dont le code est le suivant :
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
}
return jContentPane;
}
}
Ce que je veux faire c'est d'ajouter le code qui construit l'interface dans la methode start du bundle, c'est a dire comme suit :
public void start(BundleContext context) throws Exception {
//code pour construire une frame
}
Comme ca quand le bundle se lance, puisque la premiere chose qu'il fait est d'executer la methode start, il va construire l'interface graphique et ce bundle sera donc le bundle IHM.jar