Salut à tous,
J'ai un problème de compilation qui me semble très mystérieux et j'espère que vous allez pourvoir m'éclaircir...
Tout d'abord, voici le contexte de mon problème :
- une interface I
- une classe C implémentatant l'interface I
- une classe S ayant une méthode m dont un paramètre est de type I
- une page JSP pageJSP
- un serveur Tomcat 4.1.30 A
- un serveur Tomcat 4.1.30 B
Les deux serveur Tomcat fonctionne sur Linux. Les SDK utilisés, dans les deux cas, sont J2SDK 1.4.1_02-b06.
J'ai donc :
Interface I
1 2 3 4
| public interface I
{
...
} |
Classe C
1 2 3 4
| public class C implements I
{
...
} |
Classe S
1 2 3 4 5 6 7 8 9
| public class S
{
...
public List m(I paramI)
{
...
}
} |
Page JSP pageJSP
1 2 3 4
|
...
List list = instanceS.m(new C());
... |
En travaillant sur le serveur A, la compilation de mes classes Java fonctionne bien. Après redémarrage du serveur A, je consulte la page JSP pageJSP, elle s'affiche correctement, je n'ai aucune erreur.
Je désire ensuite installer mes fichiers sur le serveur B :
- j'éteinds le serveur
- je recopie les classes et la page JSP au bon endroit
- je redémarre le serveur
Je consulte la page JSP pageJSP et rien ne s'affiche. En consultant les logs, j'ai une erreur du type :
<path>/pageJSP_jsp.java:ligne: m() in S cannot be applied to (C)
Cette erreur me laisse penser que le lien existant entre l'interface I et la classe C n'est pas correct sur le serveur B.
Mais pourquoi ?
Comment se fait-il que lors de la compilation de pageJSP sur le serveur B j'ai une erreur que je n'ai pas sur le serveur A ?
N.B. : Tout le reste des pages JSP, classes Java etc. fonctionne sans problème sur les deux serveurs.
Si vous avez des pistes, merci de m'aider.
Partager