您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页scala版本不一致:java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.FileFormat.$init$

scala版本不一致:java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.FileFormat.$init$

来源:汇意旅游网

这是最近将代码放到服务器环境上运行时出现的错误。

java.lang.NoSuchMethodError和NoClassDefFoundError除了可能真的是找不到对应方法或类,也有可能是语言、框架版本不一致、多版本重复等问题所导致,JVM在运行时无法确定使用哪一个方法或者类。

我的问题在于本地环境scala使用的是2.12.10,但是服务器上的spark是2.11_2.4.4版本,所以在本地将scala换成2.11.8版本,重新编译即可。

由于我使用的是maven编译,所以进行以下设置:

			<plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.3.1</version>
                <executions>
                    <execution>
                        <id>scala-compile-first</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaVersion>2.11.8</scalaVersion>
                </configuration>
            </plugin>

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务