IDEA“找不到或无法加载主类”的一种特殊情况

现象

正常git拉一个新项目仓库后,尝试运行main方法,发现报错:IDEA找不到或无法加载主类

尝试了各种网上的解决方案,例如清缓存,重新引入项目,重启电脑,删除output path重新添加,手动删除target文件夹重新编译等等,都不能解决这个问题。

先看我的代码类似这样

import org.apache.hadoop.hive.ql.exec.UDF;

public class MyUDF extends UDF {

    public static void main(String[] args) {
        ...
    }

}

我尝试删掉 extends UDF之后,发现就能找到这个类运行了,只是报另一个问题:ClassNotFoundException,而这个Class也是跟父类UDF一样出自同一个第三方jar包的,所以我猜测maven包没有正确引入,看了下pom.xml文件

瞬间明白原来是main方法的父类在scope为provided的jar里面,所以IDEA能正常编译但是默认无法运行,因为IDEA默认运行时不会带上provided的jar包的,而编译时会正常通过。

解决办法

右上角“Edit Configurations”  打开面板,

找到“Modify Options”,

勾选“Add dependencies with provided scope...”

保存重新运行,就能正常运行辣。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Idea不到无法加载主类,这是一种常见的问题,通常会出现在开发人员在使用Idea进行开发时。出现该问题的原因可能是多种,常见的原因包括:JDK的路径不正确、项目的编译配置错误、缺少相关的Jar包、以及Idea本身的Bug等。 首先,当出现该问题时,开发人员应该首先检查JDK的路径是否正确。如果JDK的路径不正确,那么Idea无法正常使用的。此时,开发人员需要在Idea中进行相关设置,确保JDK的路径正确设置,以便Idea能够正常加载和使用JDK。 其次,开发人员应该检查项目的编译配置是否正确。如果项目的编译配置不正确,那么Idea可能无法到或加载主类。此时,开发人员需要在Idea中进行相关设置,确保项目的编译配置正确设置,以便Idea能够正常编译项目并主类。 另外,如果缺少相关的Jar包,也会出现该问题。此时,开发人员需要在Idea中进行相关设置,确保所有需要的Jar包均已导入并正确配置,以便Idea能够正确加载和使用这些Jar包。 最后,如果Idea本身存在Bug或者异常,也会导致不到无法加载主类的问题。此时,开发人员需要尝试升级Idea版本或者重新安装Idea以解决该问题。 综上所述,当出现Idea不到无法加载主类的问题时,开发人员应该先仔细检查JDK的路径是否正确、项目的编译配置是否正确、是否缺少相关的Jar包、以及Idea本身是否存在Bug或者异常等。只有在排除了所有问题后,才能够确信问题已经得到解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值