Voilà un petit problème qui arrive de temps en temps avec Eclipse et ses classloaders:
Supposons que un plugin A ait déclaré une dépendance vers un plugin B.
Question: comment on fait pour que B ait quand même visibilité sur A?
La, vous allez me dire: c’est un peu tordu quand même… c’est que ton découpage de plugins est mal foutu! Et bien non, ça peut arriver lorsque par exemple on utilise des fichiers de configuration qui sont déclarés dans A, mais qui sont utilisés par B.
Solution:
Il suffit de déclarer ce mécanisme dans les fichiers MANIFEST.MF :
C’est une manière implicite (qui s’appelle du « Buddy Class Loading« ) de déclarer la relation dans l’autre sens.