Am Ende habe ich das Projekt separat erstellt und diese Version in einen anderen Namespace verschoben. Dies ist anscheinend nicht so ungewöhnlich. Zum Beispiel hält Hibernate CGlib in seinem eigenen Namespace, um Versionskonflikte aufgrund von API -Änderungen zu vermeiden.
Die erste vorgeschlagene Lösung hatte ein Problem, als das von mir verwendete Projekt auch in einer anderen Abhängigkeit verwendet wurde, was dazu führte, dass sowohl meine modifizierte Version als auch die normal Die Version war auf dem Klassenpfad, was zu sehr seltsamem Verhalten führte, da Konflikte benannt wurden.
Der zweite und dritte Vorschlag hatte ähnliche Probleme wie der erste Vorschlag. Zusätzlich habe ich die Kompatibilität für andere Versionen der Abhängigkeit gebrochen.
Sogar es klingt schmerzhaft: Aus dem Namespace auszuziehen und einen separaten Build zu liefern, ist ein Muss, auch wenn Sie nur ein paar Codezeilen ändern.