Bonjour,
j'ai un problème avec la méthode invoke().
Je veux appeler la méthode main d'une classe dont je récupère le nom en base de données.
Code :
- String parametre = "toto.txt";
- String nomDeMaClasse = "maClasse";
- Class.forName(nomDeMaClasse).getMethod("main", new Class[]{String[].class}).invoke(null, new Object[]{parametre});
|
Le code de ma classe :
Code :
- public class maClasse
- {
- public maClasse()
- {
- ...
- }
- public static void main(String args[])
- {
- ...
- }
- }
|
Là où ça ne passe pas c'est avec les arguments. Je voudrais passer un paramètre à ma méthode main, mais à ce moment j'ai une exception IllegalArgumentException, le type de mon argument ne correspond apparemment pas.
Alors que si je déclare ma fonction main sans arguments et si je fais
Code :
- Class.forName(nomDeMaClasse).getMethod("main", null).invoke(null, null);
|
et ben là ça passe.
Quelqu'un peut m'aider siouplait ?