Spark not working with pureconfig에서 가져온 아래 해결책은 sbt에 대한 작업 솔루션 인 것처럼 보이지만 이렇게하기 위해 maven 버전을 찾는 데 어려움이 있습니다. pureconfig 0.8을 spark-2.1을 사용하여 spark-submit을 사용하여 작업하려고했지만 IntelliJ 외부에서 여전히 성가신 Exception in thread "main" java.lang.NoSuchMethodError: shapeless.Witness$.mkWitness(Ljava/lang/Object;)Lshapeless/Witness;
오류가 발생했습니다.Spark 2.1 with Pureconfig 0.8 Maven에 대한 해결 방법
assemblyShadeRules in assembly := Seq(
ShadeRule.rename("shapeless.**" -> "[email protected]")
.inLibrary("com.chuusai" % "shapeless_2.11" % "2.3.2")
.inLibrary("com.github.pureconfig" %% "pureconfig" % "0.7.0")
.inProject
)
제안 된 솔루션을 Spark with Pureconfig - proper maven shade plugin configuration에서 시도했지만 아직 행운이 없습니다.
uber
항아리를 만들었지 만 메이븐 음영이 작동하는 방식을 완전히 이해하지 못하고 추가로 이름이 변경된 항아리를 만들지 않으려면 어떻게해야하는지 최종 구성입니다. 이상적으로는 생성 된 종속성이있는 jar를 다음과 같이 추가 항아리를 만들지 않으려합니다.
<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>shapeless</pattern>
<shadedPattern>com.shaded.shapeless</shadedPattern>
</relocation>
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<finalName>uber-${project.artifactId}-${project.version}</finalName>
</configuration>
</plugin>
무명 패키지 이름으로 예외가 발생하면 소스 코드 음영 또는 내부 종속성이 제대로 작동하지 않습니다. 메이븐에 음영 설정을 추가 할 수 있습니까? –
감사합니다. 업데이트 된 질문은 내가 시도한 구성을 추가합니다. – horatio1701d