背景:spark-sql开发时,在pom.xml文件添加如下依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.1.1</version> <scope>provided</scope> </dependency>
运行报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$
解决方法:注释<scope>块 即:
<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.1.1</version> <!--<scope>provided</scope>--> // 注释 </dependency>
说明:
1 当该行不注释时:程序加载运行时会忽略不加载该依赖,此时如果打包 也会忽略该依赖
2 当该行注释时:程序加载运行时会加载该依赖,打包时也会正常打包该依赖