Ho finito per costruire il progetto separatamente e spostare questa versione in un altro spazio dei nomi. Apparentemente questo non è così raro. Ad esempio Hibernate mantiene CGLIB nel proprio spazio dei nomi per evitare conflitti di versione a causa delle modifiche dell'API.
La prima soluzione suggerita ha avuto un problema quando il progetto che ho usato è stato utilizzato anche in un'altra dipendenza ciò che ha portato a quella versione modificata sia normale La versione era sul percorso di classe ciò che ha portato a un comportamento molto strano a causa dei conflitti di denominazione.
Il secondo e il terzo suggerimento hanno avuto problemi simili al primo suggerimento. Inoltre, ho rotto la compatibilità con altre versioni della dipendenza.
Anche sembra doloroso: uscire dallo spazio dei nomi e fornire una build separata è un must, anche se si cambia solo alcune righe di codice.