Passer des argument avec le manifeste java

Fermé
TIGER - 7 sept. 2009 à 08:29
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 7 sept. 2009 à 13:56
Bonjour,
Salut à tous.
J'utilise Jade et le java pour le développement d'un logiciel de recherche d'information par agent,
et pour lancer un agent il faut utiliser cette commande
java jade.Boot -container AgIn:rii.AgIn

Le problème c'est que je veux lancer les agents en cliquant sur un fichier .jar alors que Main-Class dans le ficher manifeste se semble ne permetter pas de passer le nom d'agent comme un argument.

le contenu de fichier manifeste est comme suit :

Created-By: anonyme Inc.
Class-Path: lib/jade.jar lib/iiop.jar lib/Base64.jar lib/jadeTools.jar lib/http.jar lib/MyTools.jar lib/jdic.jar lib/jdic_native_applet.jar lib/jdic_stub_windows.jar
SplashScreen-Image: logo.png
Main-Class: jade.Boot 


Comment je puisse passer cet argument "-container AgIn:rii.AgIn" à la classe jade.Boot en n'utlisant que le fichier manifeste ?

merci d'avance.
A voir également:

1 réponse

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
7 sept. 2009 à 13:56
Bonjour,

Ce n'est pas possible.
De toute manière, pourquoi voudrais-tu passer des arguments dans le MANIFEST ?

Parce que tu souhaite donner des arguments au programme lorsque l'utilisateur lance ton JAR ? Dans ce cas là, ça veut dire que les arguments en question ne dépendent pas de l'utilisateur, donc tu peux peut-être les inclure directement dans ton programme ?

Une autre solution serait de passer par un fichier de configuration dans lequel tu as des couples variable = valeur.

Enfin, tu peux toujours passer par un script de lancement, qui lui même lancera la classe sous forme de ligne de commande tout en passant des paramètres.
Exemple de commande :
java -jar myjar Argument à passer à la "main classe"

Il te reste ensuite à prendre en compte dans ta méthode main de ta classe main, le traitement des arguments passé à ta classe pour les utiliser.
0