Charger une class à partir d'un fichier .jar

Fermé
izangard_sda Messages postés 17 Date d'inscription mercredi 7 novembre 2012 Statut Membre Dernière intervention 30 avril 2015 - Modifié par izangard_sda le 2/05/2015 à 10:39
Bonjour à tous,

Je vous expose mon problème: Je suis amenée à créer une application Java pluginable.
Je souhaiterais donc pouvoir télécharger un .jar pour ensuite intégrer sa class à mon code déjà existant.

Pour vous donner une idée (car je sais que je n'ai pas été assez clair) dans mon application j'ai des boutons radio et avec mon fichier .jar je souhaiterais en ajouter 1 de plus dans cette partie là. Tout simplement, c'est tout bête mais je bloque quand même malgré tout.

Voici mon code :

this.f = new JFileChooser();
    
    if(this.f.showOpenDialog(this) == JFileChooser.APPROVE_OPTION){
     
     try {
      
      URLClassLoader loader = new URLClassLoader(new URL[]{new File(f.getSelectedFile().getName()).toURI().toURL()});
      Class.forName("testPlugin" , true, loader);
      System.out.println("ok");


Quand je l'éxécute voici l'erreur:


java.lang.ClassNotFoundException: testPlugin
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
. . .

Voici le code de mon .jar :
public class testPlugin {

 public static void main(String[] args) {
  
  String typeMateriaux = "Sol";
  JRadioButton jrSol3 = new JRadioButton("Sol 3");

  
  Panneau a = new Panneau(typeMateriaux);
     a.getBgroup().add(jrSol3);
     a.add(jrSol3);
     
 }
}


Je vous remercie d'avance :)

P.s: Je débute en Java