最近在写UDF,依赖复制的公司的依赖,

<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.3.2</version>
<scope>provided</scope>
</dependency>
然后正常的code,在UDF里写了main方法,运行提示我找不到或无法加载主类,根据大佬的指示,发现依赖有个修饰
<scope>provided</scope>
provided,就是这个providede,让我写测试方法可以运行,但是在程序里写main方法却提示找不到类,

增加provided的意思是这个依赖只在编译和测试阶段可以用,运行环境不可用,即打jar包不会将其放进去,即lib目录里不会有它。

总结scope里的字段意思
前言:
1.Maven依赖中scope的默认值是compile
2.scope制定了依赖(第三方jar包)的作用范围
3.作用范围包括,所在项目的测试、编译、运行、打包等生命周期
4.编译和运行还分为 测试代码的编译和运行、非测试代码的编译和运行

scope分类
test 测试范围
测试范围的依赖(第三方jar包),针对测试相关代码的编译和运行,在通常代码的编译和运行时都不需要,只有在有关测试的代码编译和运行测试阶段可用
compile 编译范围
依赖默认范围,即如果依赖没有scope,默认为<scope> compile </scope>,该依赖需要参与当前项目的编译、测试、运行、打包
runtime
不参加编译,但是后期的运行和测试需要
provided
与compile很像,使用它时,jar包运行的JDK或容器会提供它,所以不需要放入jar包,仅用于编译和测试环境
system
与provided很像

被依赖项不会从maven仓库下载,而是从本地系统指定路径下寻找,需要 systemPath 属性


IDEA maven项目报错,找不到或无法找到主类的更多相关文章

  1. STS新建的maven项目报错问题

    STS新建的maven项目报错问题 解决方法:打开pom.xml文件添加 <dependency> <groupId>javax.servlet</groupId> ...

  2. 【maven】ecplise新建maven项目 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin

    在ecplise上新建maven项目 报错: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resourc ...

  3. Eclipse Maven项目报错3之找不到配置文件spring-servlet-context.xml

    一.具体错误如下图所示 根据文字提示可以看出是这个文件找不到,但是我去项目的这个目录找了,这个文件确实存在,那么是什么问题呢 二.解决问题 原因分析(来自网上) 代码编译的过程,是一个自动生成相应编译 ...

  4. maven项目 报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    ssm的项目如果在mapper.xml  mapper接口 配置没问题的情况下  项目依然报org.apache.ibatis.binding.BindingException: Invalid bo ...

  5. idea创建maven项目报错,Error initializing: org.codehaus.plexus.velocity.DefaultVelocityComponent@56da52a7 java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    学着使用idea,想创建个maven项目,但是出师不利,立马报错,贼尴尬,错误信息如下: D:\Develop\JDK\bin\java.exe -Dmaven.multiModuleProjectD ...

  6. Eclipse创建Maven项目报错的解决

    报错1:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart 起因:删除一个用quick ...

  7. Eclipse Maven项目报错2之A child container failed during start

    问题:在同事那里拿了一个Eclipse的maven项目,导入报错,主要显示的是A child container failed during start 具体错误如下 六月 02, 2018 12:0 ...

  8. 新建maven指定jdk版本-eclipse新建maven项目报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的解决方案

    具体表现为: 使用Eclipse+Maven建立了一个Javaweb工程,JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.Http ...

  9. maven项目报错--Cannot change version of project facet Dynamic Web Module to 3.0 Error in Eclipse

    错误原因: 使用ecplise构建的maven骨架默认支持的是web2.3的版本,当使用这个创建3.0版本的web项目时则会报这样的错误: Cannot change version of proje ...

随机推荐

  1. 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 树部件(Tree Widget)是Qt Designer中 Item Widgets(It ...

  2. 基于CefSharp开发(六)浏览器网页缩放

    一.网页缩放分析 缩放入口 1.Ctrl + 鼠标滑轮缩放 2.菜单中缩放子菜单缩放 3.搜索框中网页缩放按钮缩放 缩放属性及命令 ChromiumWebBrowser 提供了缩放量值.缩放级别.放大 ...

  3. 西湖论剑2020MISC-Yusa_yyds

    非常规USB流量分析 附件下载: 链接:https://pan.baidu.com/s/1Gjgj1EH9qmX0PYi21uYlDg 提取码:x9xn 先提取USB流量数据,使用工具: https: ...

  4. [BJDCTF 2nd]简单注入

    [BJDCTF 2nd]简单注入 hint.txt出现了内容. 大概意思和国赛一道题相同. username处注入\来转义单引号,password处使用sql语句整数型注入. 例如: 传入admin\ ...

  5. vue 中 this.$options.data() 重置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)

    一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...

  7. nginx根据http请求,将JSON的请求转发到后端,将非JSON请求,转发到前端

    nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; defaul ...

  8. 将命令行提示符里的执行结果导出到text文件中

    为便于查看和保存命令行提示符里的执行结果, 可以使用 ">" 将执行结果导入到指定.txt文件中. 例如: 在命令行提示符里查看C盘文件,并将结果导入到E盘dir-c-out ...

  9. centos 7.5搭建oracle DG

    一.背景 1.IP分配 主库:192.168.12.5 node1 备库:192.168.12.6 node2 2.环境 主库已安装数据库软件,已建库,并有业务数据 备库已安装数据库软件,未建库 二. ...

  10. [日常摸鱼]loj6000「网络流 24 题」搭配飞行员

    题面 应该是二分图匹配,不过我写的是网络最大流. dinic求二分图最大匹配:加个源点和汇点,源点连向二分图的一边所有点,二分图的另一边所有点连向汇点,很明显这样得到的最大流就是这个二分图的最大匹配. ...