Cannot find project Scala library 2.12 for module

2024-01-22 05:30

本文主要是介绍Cannot find project Scala library 2.12 for module,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题场景

构建项目时报错 Cannot find project Scala library 2.12 for module xxxx

二、解决方案

在File -> Project Structure中查看对应module的Dependencies,检查依赖包版本是否正确,选中然后点减号去掉旧版本的scala依赖包(一般都是因为替换scala版本时,没有自动清除之前的scala依赖包导致的,这还可能会导致运行时异常java.lang.NoSuchMethodError),Global libraries中有旧版本的也去掉。如果还不行就多删除 /clean几次,直到这里都变成新版本的,项目目录下的External Libraries中也没有旧版本的依赖包为止。或者按照下面第三部分的步骤重新切换一下scala版本。
在这里插入图片描述

至于为什么没有自动清除旧版本的依赖包,我猜可能是因为项目中有其他库依赖了旧版本的依赖包。

参考:作为Java开发者我们都遇到过java.lang.NoSuchMethodError错误,究其根源,是JVM的“双亲委托模型”引发的问题。如果在类路径下放置了多个不同版本的类包,如commons-lang2.x.jar 和 commons-lang4.x.jar 都位于类路径中,代码中用到了commons-lang4.x类的某个方法,而这个方法在commons-lang2.x.jar中并不存在,JVM加载器碰巧又从 commons-lang2.x.jar中加载类,运行时就会抛出 NoSuchMethodError的错误。
这种问题的排查通常是比较棘手的,特别是在Web应用中,类路径的系统目录比较多,特别实在类包众多时,情况尤其负责,你很难知道JVM到底从哪个类包中加载类文件。

三、在maven项目中切换scala版本的正确姿势

在maven项目中切换scala版本如果姿势不正确很容易导致一些奇奇怪怪的错误,下面梳理一下完整步骤:

  1. maven clean
    在这里插入图片描述

  2. 修改pom文件,修改用到的spark/scala版本号。只修改,不要点右上角Load Maven Changes标识

  3. 打开File -> Project Structure -> Global libraries,点+号添加新版本的scala,然后删掉旧的scala,点apply ok

  4. Build -> Rebuild project

  5. 重新运行一下项目(右上角绿色三角)

  6. 回到pom文件,点一下右上角Load Maven Changes标识。完成
    在这里插入图片描述

这篇关于Cannot find project Scala library 2.12 for module的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/631971

相关文章

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods