Я пытаюсь написать новый модуль для Presto, который позволяет использовать Ranger в качестве диспетчера авторизации, но, к сожалению, я столкнулся с некоторыми проблемами с управлением зависимостями.
Некоторые зависимости конфликтуют (в данный момент я застрялс Джерси) и не существует версии, подходящей для всех компонентов проекта.Я попытался закрасить его, чтобы несколько версий можно было использовать вместе, но мне это не удалось.Вот конфигурация, которую я пробовал для maven-shade-plugin
:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<dependencyReducedPomLocation>${project.build.directory}/pom.xml</dependencyReducedPomLocation>
<relocations>
<relocation>
<pattern>com.sun.jersey</pattern>
<shadedPattern>shaded.com.sun.jersey</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Я также пытался исключить зависимость, чтобы во время выполнения была доступна только одна версия, но это приводит к NoClassDefFoundException
.Кто-нибудь может помочь мне исправить эту адскую зависимость?Полный проект можно просмотреть в этом репо:
https://github.com/WalkerTR/presto/tree/ranger_plugin
Заранее благодарен за помощь