Apache Mave Shade Plugin と shaded jar
Apache Maven Shade Pluginを使うと推移依存による競合を解決したjarを作成することができる
各configurationの雰囲気
transfomers
複数のアーティファクトやライブラリをどのように集約するのかを指定できる
relocations
あるライブラリが推移依存するライブラリのクラスを同梱する際の設定を入れる
createDependencyReducedPom
relocationsの設定によって競合を解決しながらjarに同梱した版の、依存を排除したpom.xml (dependency-reduced-pom.xml)を作成することができる
作成されたjarとこのpom.xmlをmaven repositoryにアップロード」してやれば、推移例外の問題を排除したjarを作成することができる
promoteTransitiveDependencies
推移依存しているライブラリのうち、relocationsの設定でjarに同梱しなかったが依存したいライブラリを、dependency-reduced-pom.xmlに含めることができる
多分 、基本trueにするときはcreateDependencyReducedPom と組み合わせる感じかな