У меня есть проект, который использует org.openstreetmap.osmosis
и spark
зависимости. Все они имеют зависимость com.google.protobuf
intern, но требуют разных версий. Когда я строю свой проект, Maven выбирает одну из этих зависимостей, и дальнейшее выполнение приводит к ошибке во время выполнения. К сожалению, это не помогает явно объявить зависимость protobuf
.
Я слышал, что было бы неплохо использовать maven shade plugin
, но я не могу его правильно настроить. Может ли кто-нибудь помочь мне?
Эскиз использования плагина Shade:
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>com.google.protobuf</pattern>
<shadedPattern>${project.groupId}.${project.artifactId}.shaded.protobuf</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>