IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JWS Java Discussion :

Java Web Start problème pour l'écriture dans un fichier


Sujet :

JWS Java

  1. #61
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Suite à la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.getClass().forName("com.equipment.management_rule.ScheduleManagementRule")
    que tu m'a proposé, Eclipse me dit que je ne peux pas accèder à la méthode forName(String) ed manière statique j'ai donc remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    this.getClass();	
     
    Class.forName("com.equipment.management_rule.ScheduleManagementRule")
    j'ai alors cette exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    java.lang.NoClassDefFoundError: com/equipment/management_rule/ScheduleManagementRule
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at java.security.SecureClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.access$000(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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at com.pluginsmanager.PluginsLoader.loadPlugins(PluginsLoader.java:93)
    	at comm.pluginsmanager.PluginsManager.loadPlugins(PluginsManager.java:97)
    	at com.ausy.asisp.pluginsmanager.PluginsManager.<init>(PluginsManager.java:67)
    	at com.main.Main.main(Main.java:31)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javafx.runtime.Main.main(Unknown Source)
    	at com.sun.javafx.runtime.main.Main.main(Main.java:35)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
    	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
    	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    	at com.sun.javaws.Launcher.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: com.equipment.management_rule.ScheduleManagementRule
    	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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	... 32 more

  2. #62
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ok donc ton application principale vois bien la classe, mais pas le plugin :s. Pourrais-tu nous donner ta dernière version de loadPlugins() qu'on sache sur quoi on travaille après tous ces changement? Et met en évidence la ligne 93 au passage

  3. #63
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Voici la dernière version de la méthode loadPlugins()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    public void loadPlugins() throws Exception {
    		this.getClass();
    		Class.forName("com.equipment.management_rule.ScheduleManagementRule");
    		this.pluginsDirectory = new File("plugins");
    		
    		this._pluginFiles = new ArrayList<String>();
    		this.scanPluginsDirectory(this.pluginsDirectory);
    		this.pluginFiles = new String[this._pluginFiles.size()];
    		this._pluginFiles.toArray(this.pluginFiles);
    		
    		if(this.pluginFiles == null || this.pluginFiles.length == 0){
    			return;
    		}
    		
    		if(this.equipmentPlugins.size() != 0) return;
    		
    		File[] tempFile = new File[this.pluginFiles.length];
    		Enumeration<?> jarEnumeration = null;
    		Class<?> tmpClass = null;
    	
    		
    		for(int i=0; i<tempFile.length; i++) {
    			
    			tempFile[i] = new File(this.pluginFiles[i]);
    		
    		
    			if(!tempFile[i].exists()) {
    				break;
    			}
    			
    			URL url = tempFile[i].toURI().toURL();
    			
    			this.loadPluginInClassPath(url);
    			
    			//URLClassLoader loader = new URLClassLoader(new URL[] {url}, this.getClass().getClassLoader());
    			URLClassLoader loader = new URLClassLoader(new URL[] {url}, Thread.currentThread().getContextClassLoader());
    			JarFile jarFile = new JarFile(tempFile[i].getAbsolutePath());
    			jarEnumeration = jarFile.entries();
    			
    			try{
    			while(jarEnumeration.hasMoreElements()) {
    				
    				String tmpString = jarEnumeration.nextElement().toString();
    				
    				if(tmpString.length() > 6 && tmpString.endsWith(".class")) {
    					
    					tmpString = tmpString.substring(0, tmpString.length()-6);
    					tmpString = tmpString.replaceAll("/",".");
    					//tmpClass = Class.forName(tmpString, true, loader);
    					tmpClass = loader.loadClass(tmpString);
    					if(!tmpClass.isInterface() && !tmpClass.isEnum() && !tmpClass.isAnnotation()) {
    						
    						if(tmpClass.getSuperclass().getSimpleName().equals("Equipment")) {
    							
    							Equipment tempEquipment = ((Equipment) tmpClass.newInstance()).getNewInstance(this.pluginsManager);
    							tempEquipment.setPluginName(this.addPluginName(this.pluginFiles[i]));
    							
    							this.equipmentPlugins.add(tempEquipment);
    						}
    					}
    					
    					
    				}
    			}
    			}
    			catch(Throwable e){
    			    e.printStackTrace();
    			    Thread.sleep(60000); // une minute de pause pour lire!
    			}
    			
    			
    			loader = null;
    			jarFile = null;
    		}
    	}
    J'ai mis en vert la ligne 93

  4. #64
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Peux tu donner l'affichage du code suivant (je suis autant largué que toi)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    public void loadPlugins() throws Exception {
    		this.getClass();
    		Class.forName("com.equipment.management_rule.ScheduleManagementRule");
    		this.pluginsDirectory = new File("plugins");
     
    		this._pluginFiles = new ArrayList<String>();
    		this.scanPluginsDirectory(this.pluginsDirectory);
    		this.pluginFiles = new String[this._pluginFiles.size()];
    		this._pluginFiles.toArray(this.pluginFiles);
     
    		if(this.pluginFiles == null || this.pluginFiles.length == 0){
    			return;
    		}
     
    		if(this.equipmentPlugins.size() != 0) return;
     
    		File[] tempFile = new File[this.pluginFiles.length];
    		Enumeration<?> jarEnumeration = null;
    		Class<?> tmpClass = null;
     
     
    		for(int i=0; i<tempFile.length; i++) {
     
    			tempFile[i] = new File(this.pluginFiles[i]);
     
     
    			if(!tempFile[i].exists()) {
    				break;
    			}
     
    			URL url = tempFile[i].toURI().toURL();
     
    			this.loadPluginInClassPath(url);
     
                           System.out.println("Creating classloader for "+url.);
    			URLClassLoader loader = new URLClassLoader(new URL[] {url}, this.getClass().getClassLoader());
    			//URLClassLoader loader = new URLClassLoader(new URL[] {url}, Thread.currentThread().getContextClassLoader());
     
    			JarFile jarFile = new JarFile(tempFile[i].getAbsolutePath());
                            System.out.println("loading jar file "+tempFile[i].getAbsolutePath());
    			jarEnumeration = jarFile.entries();
     
    			try{
    			while(jarEnumeration.hasMoreElements()) {
     
    				String tmpString = jarEnumeration.nextElement().toString();
     
    				if(tmpString.length() > 6 && tmpString.endsWith(".class")) {
     
    					tmpString = tmpString.substring(0, tmpString.length()-6);
    					tmpString = tmpString.replaceAll("/",".");
    					//tmpClass = Class.forName(tmpString, true, loader);
                                           System.out.println("loading class <"+tmpString+">");
    					tmpClass = loader.loadClass(tmpString);
    					if(!tmpClass.isInterface() && !tmpClass.isEnum() && !tmpClass.isAnnotation()) {
     
    						if(tmpClass.getSuperclass().getSimpleName().equals("Equipment")) {
     
    							Equipment tempEquipment = ((Equipment) tmpClass.newInstance()).getNewInstance(this.pluginsManager);
    							tempEquipment.setPluginName(this.addPluginName(this.pluginFiles[i]));
     
    							this.equipmentPlugins.add(tempEquipment);
    						}
    					}
     
     
    				}
    			}
    			}
    			catch(Throwable e){
    			    e.printStackTrace();
    			    Thread.sleep(60000); // une minute de pause pour lire!
    			}
     
     
    			loader = null;
    			jarFile = null;
    		}
    	}

  5. #65
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    En parlant de l'affichage tu me demandes, les messages consoles?

  6. #66
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    oui, il y a des system.out en plus et des lignes changées

  7. #67
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    D'accord excuse moi je n'avais pas vu. Alors j'ai testé le code avec tes ajouts et j'obtiens le stacktrace suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Creating classloader for file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar
    loading jar file C:\Documents and Settings\admin\workspace\Mon applli\dist\plugins\splugin.jar
    loading class <com.pluginexample.equipemnt.management_rule.ScheduleNOP>
    java.lang.NoClassDefFoundError: com/equipment/management_rule/ScheduleManagementRule
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at java.security.SecureClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.access$000(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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at com.pluginsmanager.PluginsLoader.loadPlugins(PluginsLoader.java:172)
    	at com.pluginsmanager.PluginsManager.loadPlugins(PluginsManager.java:97)
    	at com.pluginsmanager.PluginsManager.<init>(PluginsManager.java:67)
    	at com.main.Main.main(Main.java:31)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javafx.runtime.Main.main(Unknown Source)
    	at com.sun.javafx.runtime.main.Main.main(Main.java:35)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
    	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
    	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    	at com.sun.javaws.Launcher.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: com.equipment.management_rule.ScheduleManagementRule
    	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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	... 32 more

  8. #68
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Après plusieurs essais, je reste toujours bloqué avec mon problème de plugin jar. Quelqu'un aurait-il une idée ou une piste à me suggérer? D'avance. Merci

  9. #69
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu peux nous montrer le code de cette méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.loadPluginInClassPath(url);
    ? Dans la logique du chargement d'un jar au sein d'un classloader, j'en vois pas l'intéret, et je me demande ce qu'elle tripatouille....

    Edit: la seule raison que je verrais pour que la classe de ton plugin ne vois pas ta classe principale, ce serait que le plugin sois chargé par le classloader bootstrap et non par ton classloader (le principe de délégation donne priorité au classloader parent), et le bootstrap serait bien emmerdé parce que, ta classe principale il la connait pas. Peux tu ajouter ce code pour vérifier?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    				if(tmpString.length() > 6 && tmpString.endsWith(".class")) {
    				  //rajouté
    		try {
    			Enumeration<?> e = loader.getResources(tmpString);
    			while (e.hasMoreElements())
    				System.out.println(e.nextElement());
    		} catch (IOException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    				  //fin rajout
    ce code donnera exactement tous les emplacement ou l'on peux trouver la classe. Si t'as des doublons, ce sera bingo on aura trouvé la cause

  10. #70
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Voici le code de la méthode demandée :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void loadPluginInClassPath(URL url) throws Exception {
     
    		URLClassLoader sysloader = (URLClassLoader) ClassLoader.getSystemClassLoader();
    		Class<?> sysclass = URLClassLoader.class;
     
    		Method method = sysclass.getDeclaredMethod("addURL",URL.class);
    		method.setAccessible(true);
    		method.invoke(sysloader,new Object[]{ url });
    	}

  11. #71
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Ok je rajoute le code. juste une question, dans la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Enumeration<?> e = TestUrls.class.getClassLoader().getResources(tmpString);
    A quoi correspond : ? Pour que je puisse compiler

  12. #72
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par yoyolepsy Voir le message
    Ok je rajoute le code. juste une question, dans la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Enumeration<?> e = TestUrls.class.getClassLoader().getResources(tmpString);
    A quoi correspond : ? Pour que je puisse compiler
    désolé, mauvaic copier/coller, j'ai corrigé mon post

  13. #73
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ok, tu va me retirer cette méthode loadinclasspath immédiatement. Ton plugin n'a rien à faire dans le system classloader, il ne trouvrera aucune des classes de ton application à partir de là.

  14. #74
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    En plus du code que tu m'a dit tu me demande de retirer l'appel à la méthode loadinclasspath dans loadplugins?

  15. #75
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    J'ai retiré l'appel à ma fonction loadPluginInClassPath et la effectivement le plugin semble bien vu dans mon jws. Je remarque aussi pour en revenir au début de la discussion que j'écris bien dans mon fichier de log . Par contre j'écris les informations deux fois ce que je ne comprends pas forcément.
    Pourrais-tu m'expliquer exactement ce qui se passait avec la méthode loadPluginInClassPath qui apparemment me causait mes problèmes et pourquoi cele venait que en jws et pas en application lancé sous Eclipse??
    En tous cas merci beaucoup pour ton aide et ta patience

  16. #76
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Juste pour information, après toutes les dernières modifications, j'ai le stacktrace suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
     
    Creating classloader for file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar
    loading jar file C:\Documents and Settings\admin\workspace\Mon applli\dist\plugins\splugin.jar
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ScheduleNOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ScheduleNOP.class
    loading class <com.pluginexample.equipemnt.management_rule.ScheduleNOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ReplyNOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ReplyNOP.class
    loading class <com.pluginexample.equipemnt.management_rule.ReplyNOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/PCT.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/PCT.class
    loading class <com.pluginexample.equipment.PCT>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Sensor.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Sensor.class
    loading class <com.pluginexample.equipment.Sensor>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Gateway.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Gateway.class
    loading class <com.pluginexample.equipment.Gateway>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/UndecodedMessage.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/UndecodedMessage.class
    loading class <com.pluginexample.equipment.connection.listener.UndecodedMessage>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginSingleClientListener.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginSingleClientListener.class
    loading class <com.pluginexample.equipment.connection.listener.pluginSingleClientListener>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginMultiClientsListener.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginMultiClientsListener.class
    loading class <com.pluginexample.equipment.connection.listener.pluginMultiClientsListener>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/NOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/NOP.class
    loading class <com.pluginexample.equipment.message.NOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateNotify.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateNotify.class
    loading class <com.pluginexample.equipment.message.SensorStateNotify>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateModify.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateModify.class
    loading class <com.pluginexample.equipment.message.SensorStateModify>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/pluginMessageBuilder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/pluginMessageBuilder.class
    loading class <com.pluginexample.equipment.message.builder.pluginMessageBuilder>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/MessageService.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/MessageService.class
    loading class <com.pluginexample.equipment.message.builder.MessageService>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageDataBuilder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageDataBuilder.class
    loading class <com.pluginexample.equipment.message.data.MessageDataBuilder>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensConfig.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensConfig.class
    loading class <com.pluginexample.equipment.message.data.GetSensConfig>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoShowStatus.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoShowStatus.class
    loading class <com.pluginexample.equipment.message.data.DoShowStatus>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/SetSensConfig.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/SetSensConfig.class
    loading class <com.pluginexample.equipment.message.data.SetSensConfig>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetCoord.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetCoord.class
    loading class <com.pluginexample.equipment.message.data.GetCoord>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoEcomodeOn.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoEcomodeOn.class
    loading class <com.pluginexample.equipment.message.data.DoEcomodeOn>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoAskStatus.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoAskStatus.class
    loading class <com.pluginexample.equipment.message.data.DoAskStatus>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AcknowledgementCode.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AcknowledgementCode.class
    loading class <com.pluginexample.equipment.message.data.Parameters$AcknowledgementCode>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AddressIdentifier.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AddressIdentifier.class
    loading class <com.pluginexample.equipment.message.data.Parameters$AddressIdentifier>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$MessageType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$MessageType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$MessageType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdDoType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdDoType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$UcmdDoType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdSendAddrType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdSendAddrType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$UcmdSendAddrType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters.class
    loading class <com.pluginexample.equipment.message.data.Parameters>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DecodedMessage.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DecodedMessage.class
    loading class <com.pluginexample.equipment.message.data.DecodedMessage>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageData.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageData.class
    loading class <com.pluginexample.equipment.message.data.MessageData>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensState.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensState.class
    loading class <com.pluginexample.equipment.message.data.GetSensState>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/decoder/pluginMessageDecoder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/decoder/pluginMessageDecoder.class
    loading class <com.pluginexample.equipment.message.decoder.pluginMessageDecoder>
    Creating classloader for file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar
    loading jar file C:\Documents and Settings\admin\workspace\Mon applli\dist\plugins\splugin.jar
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ScheduleNOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ScheduleNOP.class
    loading class <com.pluginexample.equipemnt.management_rule.ScheduleNOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ReplyNOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipemnt/management_rule/ReplyNOP.class
    loading class <com.pluginexample.equipemnt.management_rule.ReplyNOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/PCT.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/PCT.class
    loading class <com.pluginexample.equipment.PCT>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Sensor.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Sensor.class
    loading class <com.pluginexample.equipment.Sensor>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Gateway.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/Gateway.class
    loading class <com.pluginexample.equipment.Gateway>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/UndecodedMessage.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/UndecodedMessage.class
    loading class <com.pluginexample.equipment.connection.listener.UndecodedMessage>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginSingleClientListener.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginSingleClientListener.class
    loading class <com.pluginexample.equipment.connection.listener.pluginSingleClientListener>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginMultiClientsListener.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/connection/listener/pluginMultiClientsListener.class
    loading class <com.pluginexample.equipment.connection.listener.pluginMultiClientsListener>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/NOP.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/NOP.class
    loading class <com.pluginexample.equipment.message.NOP>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateNotify.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateNotify.class
    loading class <com.pluginexample.equipment.message.SensorStateNotify>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateModify.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/SensorStateModify.class
    loading class <com.pluginexample.equipment.message.SensorStateModify>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/pluginMessageBuilder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/pluginMessageBuilder.class
    loading class <com.pluginexample.equipment.message.builder.pluginMessageBuilder>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/MessageService.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/builder/MessageService.class
    loading class <com.pluginexample.equipment.message.builder.MessageService>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageDataBuilder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageDataBuilder.class
    loading class <com.pluginexample.equipment.message.data.MessageDataBuilder>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensConfig.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensConfig.class
    loading class <com.pluginexample.equipment.message.data.GetSensConfig>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoShowStatus.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoShowStatus.class
    loading class <com.pluginexample.equipment.message.data.DoShowStatus>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/SetSensConfig.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/SetSensConfig.class
    loading class <com.pluginexample.equipment.message.data.SetSensConfig>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetCoord.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetCoord.class
    loading class <com.pluginexample.equipment.message.data.GetCoord>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoEcomodeOn.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoEcomodeOn.class
    loading class <com.pluginexample.equipment.message.data.DoEcomodeOn>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoAskStatus.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DoAskStatus.class
    loading class <com.pluginexample.equipment.message.data.DoAskStatus>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AcknowledgementCode.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AcknowledgementCode.class
    loading class <com.pluginexample.equipment.message.data.Parameters$AcknowledgementCode>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AddressIdentifier.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$AddressIdentifier.class
    loading class <com.pluginexample.equipment.message.data.Parameters$AddressIdentifier>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$MessageType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$MessageType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$MessageType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdDoType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdDoType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$UcmdDoType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdSendAddrType.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters$UcmdSendAddrType.class
    loading class <com.pluginexample.equipment.message.data.Parameters$UcmdSendAddrType>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/Parameters.class
    loading class <com.pluginexample.equipment.message.data.Parameters>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DecodedMessage.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/DecodedMessage.class
    loading class <com.pluginexample.equipment.message.data.DecodedMessage>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageData.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/MessageData.class
    loading class <com.pluginexample.equipment.message.data.MessageData>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensState.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/data/GetSensState.class
    loading class <com.pluginexample.equipment.message.data.GetSensState>
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/decoder/pluginMessageDecoder.class
    jar:file:/C:/Documents%20and%20Settings/admin/workspace/Mon%applli/dist/plugins/splugin.jar!/com/pluginexample/equipment/message/decoder/pluginMessageDecoder.class
    loading class <com.pluginexample.equipment.message.decoder.pluginMessageDecoder>

  17. #77
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par yoyolepsy Voir le message
    J'ai retiré l'appel à ma fonction loadPluginInClassPath et la effectivement le plugin semble bien vu dans mon jws. Je remarque aussi pour en revenir au début de la discussion que j'écris bien dans mon fichier de log . Par contre j'écris les informations deux fois ce que je ne comprends pas forcément.
    Pourrais-tu m'expliquer exactement ce qui se passait avec la méthode loadPluginInClassPath qui apparemment me causait mes problèmes et pourquoi cele venait que en jws et pas en application lancé sous Eclipse??
    En tous cas merci beaucoup pour ton aide et ta patience
    Les classloader vont toujours chercher en priorité dans leur parent les classes à charger , et il ne vont jamais chercher dans leur fils. Dans eclipse, le systemclassloader c'est l'ensemble de test classes de ton application que tu viens de lancer. Résultat, ca inclue dont ton pluginmanager. Résultat, le systemclassloader "vois" ton pluginmanager et toutes tes classes projet.

    Dans javawebstart on a un niveau de plus. D'abord il y a le systemclassloader qui est celui de javawebstart, en dessous viens un classloader spécialement instancié pour ton application par webstart, avec ses sécurités, et qui contient tes classes, ensuite viennent tes petits classloader pour les plugins. Résultat, le systemclassloader ne "vois" aucune de tes classes. Quand tu injectais de force le plugin dans le system classloader, tu injectais donc tes classes plugins un niveau au dessus de ton application. Ceux-ci ne voient donc pas ton application principale. Et là tu te retrouve coincé car il ne vois aucune des classes dont il dépend -> NoClassDefFoundError.

    En pratique, ton classloader custom est amplement suffisant pour charger les classes du plugin, pas besoin d'aller force des trucs.

    PS: pour tes messages en double, regarde si ton splugin.jar n'est pas repris deux fois, par exemple une fois par ton classloader de plugin (qui est le comportement voulu) et une fois dans le fichier jnlp (ce qu'il faudrait, à priori, retirer)

  18. #78
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    OK. Je comprends mieux mainteant les considérations sur les classloader. Je te remercie beaucoup du temps et de la patience que tu m'a apporté. Je vais maintenant essayer de continuer mon application avec mon JavaFX.

    PS : En ce qui concerne les fichiers de log tu me dis de retirer la reference au plugin dans le jnlp?

  19. #79
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si tu regarde le texte que tu ma copié / collé, tu verra qu'il trouve chaque classe deux fois. A chaque fois à partir du même jar, ce qui me laisse a penser que deux classloader dans la hierarchie possèdent le classe, ce qui est pas tiptop, tu risque a nouveau d'avoir des problème si tu fais évoluer ton système de plugin. CA viens probablement du fait que tu référence ton splugin.jar à la fois dans le jnlp et que en plus tu le charge manuellement dans un classloader fils -> retire le du jnlp, a priori t'en a pas besoin là.

  20. #80
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Si je retire la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jar href="plugins/splugin.jar"/>
    de mon jnlp, j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    java.security.AccessControlException: access denied (java.io.FilePermission \C:\Documents and Settings\admin\workspace\Mon applli\dist\sMain.jar read)
    	at java.security.AccessControlContext.checkPermission(Unknown Source)
    	at java.security.AccessController.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkPermission(Unknown Source)
    	at java.lang.SecurityManager.checkRead(Unknown Source)
    	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
    	at sun.awt.SunToolkit.getImage(Unknown Source)
    	at javax.swing.ImageIcon.<init>(Unknown Source)
    	at javax.swing.ImageIcon.<init>(Unknown Source)
    	at com.equipment.connection.data.StatusParameter.buildEnumParameter(StatusParameter.java:44)
    	at com.equipment.parameter.EnumParameter.<init>(EnumParameter.java:31)
    	at com.equipment.connection.data.StatusParameter.<init>(StatusParameter.java:36)
    	at com.equipment.connection.tcpip.server.Server.buildParameters(Server.java:62)
    	at com.equipment.connection.tcpip.server.Server.<init>(Server.java:53)
    	at com.pluginexample.equipment.Gateway.<init>(Gateway.java:49)
    	at com.pluginexample.equipment.Gateway.getNewInstance(Gateway.java:129)
    	at com.pluginsmanager.PluginsLoader.loadPlugins(PluginsLoader.java:198)
    	at com.pluginsmanager.PluginsManager.loadPlugins(PluginsManager.java:97)
    	at com.pluginsmanager.PluginsManager.<init>(PluginsManager.java:67)
    	at com.main.Main.main(Main.java:31)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javafx.runtime.Main.main(Unknown Source)
    	at com.sun.javafx.runtime.main.Main.main(Main.java:35)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
    	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
    	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    	at com.sun.javaws.Launcher.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Néanmoins, l'application se lance après un certain temps mais je n'ai plus accès aux classes de mon plugin même si il est vu par l'application principale

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour supprimer attribut dans un fichier XML
    Par Jb_One73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/02/2015, 10h08
  2. JAVA:Retour à la ligne lors d'écriture dans un fichier
    Par sarra2104 dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2012, 09h10
  3. Eclipse RCP / Java web start : problème de langue
    Par nhqnhq dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 02/12/2009, 18h47
  4. Problème avec Java Web start
    Par kenny6 dans le forum JWS
    Réponses: 6
    Dernier message: 12/09/2007, 17h10
  5. Module java web start pour NB 5.5
    Par FranT dans le forum NetBeans
    Réponses: 3
    Dernier message: 04/10/2006, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo