maven scope-provided 与 optional 区别

97 篇文章 471 订阅 ¥19.90 ¥99.00
本文介绍了在Maven项目中,scope-provided与optional的区别。作者通过解决一个Spark项目运行时的错误,发现将依赖的scope从provided更改为compile,从而使得项目正常运行。文中详细解释了scope如何影响依赖是否加入工程的classpath,以及optional如何控制依赖的传递性。举例说明了当依赖设置为optional或provided时,如何影响工程的编译和运行时的依赖处理。
摘要由CSDN通过智能技术生成

今天遇到一个问题,整了我一上午,一个Spark项目,总是报错

package tests

import org.apache.spark.sql.SparkSession

/**
  * Created by lcc on 2018/7/19.
  */
object Mytest {
  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder()
      .appName("Spark Hive Example")
      .master("local")
      .enableHiveSupport()
      .getOrCreate()

    spark.sql("use super_dev").show()
    spark.stop()

  }
}

编译不报错,也能点开SparkSession,查看依赖也有,但是运行总报错

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$
	at tests.Mytest$.main(Mytest.scala:11)
	at tests.Mytest.main(Mytest.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值