Bonjour,
Je travail actuellement sur un Serveur vocal interactif (SVI).
Le programme est en JAVA, et tourne sur un IPBX (commutateur téléphonique sur IP).
J'ai donc mon code source java (SVI.java) que j'ai compilé (SVI.class) sans erreurs
Ensuite il faut se rendre sur l'IPBX est charger le programme (le fichier .class)
et c'est la que ça coince
Problème : Pour tester mon programme, je ne pouvais pas l'appeler SVI.java car il existe déjà un programme nommé SVI actuellement sur l'IPBX.
J'ai donc décidé de l'appeler autrement (SVIMax.java) et forcement j'ai renommé dans le code ma classe: public class SVI extends AutomataToolkit {......//programme
}
par : public class SVIMax extends AutomataToolkit {....
//programme
}
Je compile donc mon fichier SVIMax.java pour obtenir SVIMax.class toujours sans erreurs de compilation (avec javac)
Ensuite je charge mon programme SVIMax.class sur l'ipbx et là badaboom
Problème...
voici le log java de l'IPBX
Alors je me pose la question de savoir d'où peut venir cette erreur :
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 2010/05/03-17:06:51.111 >>>>>>>>>>>>>>>>>>>>> Specific path=false 2010/05/03-17:06:51.115 [IVR] path=/usr/ipbx/centile/domains/GroupAtribu/GroupCustomization/services 2010/05/03-17:06:51.115 [IVR] path=/usr/ipbx/IntraSwitch/services 2010/05/03-17:06:51.125 [IVR] Read prog : SVI 2010/05/03-17:06:51.140 [IVR] Read prog : SVI 240909 2010/05/03-17:06:51.141 Throwable error java.lang.LinkageError: loader (instance of com/netergynet/ivr/ivrmotor/FileLoader): attempted duplicate class definition for name: "SVI" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at com.netergynet.ivr.ivrmotor.FileLoader.findClass(FileLoader.java:261) at com.netergynet.ivr.ivrmotor.FileLoader.readProg(FileLoader.java:75) at com.netergynet.ivr.ivrmotor.FileLoader.readProg(FileLoader.java:48) at com.netergynet.ivr.ivrmotor.IvrPhonelet.readJavaProg(IvrPhonelet.java:717) at com.netergynet.ivr.ivrmotor.IvrPhonelet.reloadPath(IvrPhonelet.java:829) at com.netergynet.ivr.ivrmotor.IvrPhonelet.startIvr(IvrPhonelet.java:472) at com.netergynet.ivr.ivrmotor.IvrPhonelet.init(IvrPhonelet.java:363) at com.odisei.server.servicemanager.ServiceManagerImpl.startPhonelet(ServiceManagerImpl.java:2289) at com.odisei.server.servicemanager.ServiceManagerImpl.startPhonelets(ServiceManagerImpl.java:2186) at com.odisei.server.servicemanager.ServiceManagerImpl.<init>(ServiceManagerImpl.java:484) at com.odisei.server.servicemanager.ServiceManagerImpl.main(ServiceManagerImpl.java:1275)
Et je ne comprends pas trop cette erreur, j'ai bien importé ma librairie com/netergynet/ivr/ivrmotor lors de la compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.lang.LinkageError: loader (instance of com/netergynet/ivr/ivrmotor/FileLoader): attempted duplicate class definition for name: "SVI"
Le problème vient-il d'une librairie manquante à la compilation de mon fichier SVIMax?
ou alors parce que j'ai renommé ma classe SVIMax ?
ou autre chose encore...
merci,
Partager