Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.SparkSession
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
jar로 잘 돌던 코드를 수정코자 내려받아 돌렸더니
이상하게 JNI까지 들먹이면서 뱉어내던 에러;;
build.sbt
...
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion % Provided,
"org.apache.spark" % "spark-sql_2.11" % sparkVersion % Provided,
"org.apache.spark" % "spark-hive_2.11" % sparkVersion % Provided,
....
원인은 이 쪽에 있었는데
Library Dependency에 "Provided" 스콥으로다가 키워드를 뒤에 붙인 경우,
Build 시에 classpath를 모두 추가하지 않은 채 빌드가 되어버린다
그러니 처음 빌드한 로컬에서 에러가 날 수 밖에....
조오~기 가운데에
"Include dependencies with 'Provided' scope" 옵션을 켜주면 문제가 해결된다
'코딩을 허자' 카테고리의 다른 글
[CS] 뎃씨멀의 모든 것 (0) | 2021.12.25 |
---|---|
[CS] 카피의 모든 것 (0) | 2021.12.24 |
[IoT] 삼성 SDS (SHN-8912) 월패드 성공기 2-1 : 인피니티워 (1) | 2020.09.20 |
[IoT] 삼성 SDS (SHN-8912) 월패드 성공기 1 (4) | 2020.05.03 |
[CS] 컴퓨터의 음수 표현 (ft. Complement) (0) | 2019.06.03 |