프로젝트를 별도로 구축 하고이 버전을 다른 네임 스페이스로 옮겼습니다. 이것은 분명히 드문 일이 아닙니다. 예를 들어, Hibernate는 API 변경으로 인한 버전 충돌을 피하기 위해 CGLIB를 자체 네임 스페이스로 유지합니다.
첫 번째 제안 된 솔루션은 내가 사용한 프로젝트가 다른 의존성에 사용되었을 때 문제가있었습니다. 정상 버전은 클래스 경로에 있었으며, 명명 충돌로 인해 매우 이상한 행동으로 이어졌습니다.
두 번째와 세 번째 제안은 첫 번째 제안과 비슷한 문제가있었습니다. 또한 다른 버전의 종속성과의 호환성을 깨뜨 렸습니다.
심지어 고통 스럽습니다. 네임 스페이스 밖으로 나가고 별도의 빌드를 제공하는 것은 몇 줄의 코드 만 변경하더라도 필수입니다.