Warmania Forum
Question JAVA - Version imprimable

+- Warmania Forum (https://warmania.com/forum)
+-- Forum : Communauté (https://warmania.com/forum/forumdisplay.php?fid=17)
+--- Forum : Taverne des joueurs (https://warmania.com/forum/forumdisplay.php?fid=115)
+---- Forum : Internet/Informatique (https://warmania.com/forum/forumdisplay.php?fid=48)
+---- Sujet : Question JAVA (/showthread.php?tid=10288)



Question JAVA - Gandahar - 23-06-2025

Bonjour à vous,

Je débute en java et je n'arrive pas à trouver de réponse à ma question sur le net.

Je souihaite écrire un programme java qui lance d'autres programmes java en leur communiquant un objet qui'ils devront mettre à jour.
Savez-vous comment on lance un programme java à partir d'un autre (je sais le faire en C mais pas en java) ?
Peut-on communiquer aux programmes appelés, un objet créé dans l'appelant pour qu'ils le modifient ?

Pour ceux/celles qui veulent en savoir plus : l'objet à partager est un extendReport pour que chaque programme appelé puisse dire s'il s'est bien exécuté ou s'il s'est planté.
N'étant pas parvenu à dire à chaque programme de compléter un report créé par les programmes précédents, j'ai eu l'idée d'un programme chapeau qui créé le report et le partage avec tous les programmes appelés.


RE: Question JAVA - Reldan - 23-06-2025

Pas expert Java j'en ai fait un peu mais jamais en full time.
Ce dont je suis à peu près sûr c'est que lancer un programme depuis un autre ça se fait, ça doit être ça :
https://www.ibm.com/docs/fr/i/7.5.0?topic=languages-using-javalangruntimeexec 

Par contre partager un objet directement je ne pense pas, il faudra passer par un export/import de l'objet (en json, xml, whatever).


RE: Question JAVA - Gandahar - 23-06-2025

Merci beaucoup !
Je vais travailler ça.


RE: Question JAVA - Newlight - 24-06-2025

Oui, je confirme que tu devrais avoir à convertir l'objet en un format d'export comme json. 

Sinon pour ta question principale, j'ai trouvé ça: https://www.digitalocean.com/community/tutorials/compile-run-java-program-another-java-program

Mais ne pourrais tu pas faire un super programme qui englobe tes autres programmes sous forme de classes ?


RE: Question JAVA - n314 - 25-06-2025

Je ne suis pas java non plus mais avant l'implémentation dans ce langage, je réfléchirais un peu plus à l'architecture de l'ebsemble.
Ici, le mot clé orchestrateur me semblerait à explorer, et de mémoire il y a un pattern pour cela dans le https://fr.m.wikipedia.org/wiki/Design_Patterns (lecture plus que conseillée, l'original ou ses resucés).
En sus, il pourrait y avoir un intérêt à persister dans une base de donnée compagnon (genre sqlite) les demandes d'exécution (et leurs paramètres) ainsi que les résultats d'exécution (et leurs logs si plantage).


RE: Question JAVA - Reldan - 25-06-2025

oui la bdd ça sera la solution la plus robutesse et polyvalente.
Après c'est un peu plus lourd aussi en terme de CI et mise à jour. A voir la cible et la finalité.