2016-03-30 3 views
2

У меня есть build.sbt проекта, в, который использует:Как разрешить зависимый конфликт SBT Dependecy?

libraryDependencies ++= Seq(
    "com.lerestau" % "killer-launcher" % "1.0.2", 
    "com.lerestau" % "menu-starter" % "1.0.0" 
) 

меню стартер транзитивно скачивание «убийца-пускового»% «0.0.8» и поэтому получает ошибки в текущем проекте. Есть ли способ разрешить этот конфликт. Я придумал dependencyOverrides, но это работает, если конфликт полностью двоичный. Это не сработало. Как разрешить в SBT?

ответ

2

Следующая следует избавиться от переходной зависимости от меню-стартера на старой киллеров-пусковая версии:

libraryDependencies ++= Seq(
    "com.lerestau" % "killer-launcher" % "1.0.2", 
    "com.lerestau" % "menu-starter" % "1.0.0" exclude("com.lerestau", "killer-launcher" 
) 

Более подробную информацию можно найти в the documentation, к сожалению, не похоже, чтобы быть способом ссылку на соответствующий раздел.

+0

Я использую 'class', который определен в новой версии i.e. ** 1.0.2 **, но его нет в старой версии (0.0.8). Если я 'exclude (« com.lerestau »,« killer-launcher »)), он будет бросать« NoClassDefFoundError », поскольку это бросает мой случай. –

+0

menu-starter включает только версию 0.8, поэтому исключая, что не следует влиять, если меню-стартер не зависит от интерфейсов, доступных только в 0,8 –

+0

В соответствии с моим пониманием вы говорите: «исключая, что не должно быть никакого воздействия на ** мой проект ** ", это правильно для компиляции. Но во время сборки и когда я попытался запустить это, получил этот «NoClassDefFoundError», указывающий на 'com/lerestau/killer-launcher/Launcher $ NewLauncher'. Этот ** NewLauncher ** существует в версии ** 1.0.2 **, но не в ** 0.0.8 **. –

Смежные вопросы