У меня есть два модуля: Component и Application. Модуль Component затенен из-за конфликта зависимостей (буферов протокола google) позже в процессе сборки.
<!-- snip from Component pom.xml -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<relocations>
<relocation>
<pattern>com.google.protobuf</pattern>
<shadedPattern>my.package.protocols.shaded.com.google.protobuf</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Приложение зависит от модуля Component. Однако исходные файлы в приложении не могут ссылаться на затененную библиотеку, от которой зависит компонент. Это важно для взаимодействия с компонентом.
<-- snip from Application pom.xml -->
<dependency>
<groupId>my-group</groupId>
<artifactId>component</artifactId>
<version>${project.version}</version>
</dependency>
Несмотря на то, что импорт не найден IntelliJ, сборка Maven отлично работает. Что я пропущу/делаю неправильно?