Maven明明导入了依赖但是运行报错

我在运行flink程序时候,就是一个table程序,在编译时候以及写代码都不报错,然后运行就报错少依赖,

卧槽,而且这个依赖这个类我都能够找到,点进去能看到源码,死活报错找不到

后来发现我在这几个类的pom.xml文件里面都加着 <scope>provided</scope>

把这个<scope>provided</scope>删除即可


对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact对应的jar包在classpath中。

而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact。换句话说,它只影响到编译,测试阶段。在编译测试阶段,我们需要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(比如我们这里的liferay容器)已经提供了这个jar包,所以无需我们这个artifact对应的jar包了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、业务场景 传统的SSM项目一般都为war包部署,多模块的项目一般都是将模块打包成jar包依赖进web工程中,但...
    司寒_2019阅读 7,122评论 0 6
  • maven 标签概览 scope 依赖范围 maven 中为我们提供了三种classpath:编译,测试,运行。依...
    黑曼巴yk阅读 713评论 0 1
  • 1、pom 中的 scope scope的默认值是compilescope有5种1.compile:默认范围,编译...
    早点起床晒太阳阅读 433评论 0 0
  • 1)详解 对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个...
    Endeavor2019阅读 285评论 0 0
  • 简介 概述 Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven...
    闽越布衣阅读 4,378评论 6 39