I have exactly the same problem as described here: Spark not working with pureconfig. The one and only answer to the question above seems reasonable, but I am working with Maven instead of sbt and I'm failing to translate the posted solution from sbt to Maven.
I have tried something like the following:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<relocations>
<relocation>
<pattern>com.chuusai:shapeless_2.11:2.3.2</pattern>
<shadedPattern>com.matek.shaded.com.chuusai:shapeless_2.11:2.3.2</shadedPattern>
</relocation>
<relocation>
<pattern>com.chuusai:shapeless_2.11:2.0.0</pattern>
<shadedPattern>com.matek.shaded.com.chuusai:shapeless_2.11:2.0.0</shadedPattern>
</relocation>
<relocation>
<pattern>com.github.pureconfig</pattern>
<shadedPattern>com.matek.shaded.com.github.pureconfig</shadedPattern>
<excludes>
<exclude>com.chuusai:shapeless_2.11:2.3.2</exclude>
</excludes>
<includes>
<include>com.matek.shaded.com.chuusai:shapeless_2.11:2.3.2</include>
</includes>
</relocation>
</relocations>
</configuration>
But not surprisingly, this does not work (I am not even sure whether it is correct). How to specify the maven shade plugin configuration to make it work with spark submit?