J'ai fini par construire le projet séparément et déplacer cette version vers un autre espace de noms. Ce n'est apparemment pas si rare. Par exemple, HiberNate maintient CGLIB dans son propre espace de noms afin d'éviter les conflits de version en raison des modifications de l'API.
La première solution suggérée a eu un problème lorsque le projet que j'ai utilisé a également été utilisé dans une autre dépendance qui a conduit à la fois à ma version modifiée et à la Ordinaire La version était sur le chemin de la classe ce qui a conduit à un comportement très étrange en raison de conflits de dénomination.
Les deuxième et troisième suggestions ont eu des problèmes similaires à la première suggestion. De plus, j'ai brisé la compatibilité avec d'autres versions de la dépendance.
Même cela semble douloureux: sortir de l'espace de noms et fournir une version séparée est un must, même si vous ne changez que quelques lignes de code.