illegal cyclic inheritance involving trait Iterable_2种解决方式

一、报错内容

/Users/liyangda/Code/DemoProject/demo-scala/src/scala/old04/T4.scala:11:20
illegal cyclic inheritance involving trait Iterable
    val value= List(1, 2, 3, 4, 5, 6, 7, 8)

在这里插入图片描述

二、问题解决

1、方式一:降低scala版本

可以选择降低Scala的版本,可以解决一定的问题。

在这里插入图片描述

2、更改maven打包配置

将maven打包的方式,改为Scala的打包方式,初始化创建的时候,都是maven的打包,也就是默认Java的,还是需要更换为Scala的打包方式。

<build>
    <finalName>SparkCoreTest</finalName>
    <plugins>
        <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
            <version>3.4.6</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
### IntelliJ IDEA 运行 Scala 报错解决方案 在开发过程中,如果遇到 IntelliJ IDEA 运行 Scala 程序时报错的情况,通常可能是由于以下几个原因引起的: #### 1. 插件兼容性问题 当尝试手动安装 Scala 插件时,可能会因为版本不匹配而导致 `plugin scala is incompatible` 的错误。这种情况下需要确保插件的版本与 IDE 版本相匹配[^3]。 解决方法: - 避免通过手动下载并放置到指定目录的方式安装插件。 - 使用 IntelliJ IDEA 自带的插件市场功能,在 **Settings -> Plugins** 页面中搜索 “Scala”,选择官方推荐的最新稳定版进行安装。 - 如果仍然存在版本冲突问题,则需确认当前使用的 IntelliJ IDEA 是否为支持该插件版本的最低要求版本。 #### 2. 缺少必要的依赖项或类路径配置不当 某些特定类型的错误如 `scala.Function1 not found` 可能表明项目的构建工具未能正确加载所需的库文件[^2]。 处理方式: - 检查 build.sbt 或 pom.xml 文件中的依赖声明是否准确无误; - 清理缓存重新解析依赖关系 (可通过命令行执行 sbt clean compile 来实现),或者借助 GUI 工具右键单击模块名称->Invalidate Caches / Restart...来刷新环境状态。 #### 3. 不合法循环继承引发编译器崩溃 对于类似于 `illegal cyclic inheritance involving trait Iterable` 的异常提示,这往往暗示着源码内部存在着设计缺陷——即某个抽象数据类型试图间接地扩展自己形成闭环定义链路[^4]。 修正策略: - 细致审阅相关代码逻辑是否存在上述隐患之处; - 修改涉及对象之间的关联模式打破恶性递归链条. 以下是调整 Scala SDK 版本的一个简单示例脚本供参考: ```bash #!/bin/bash # Define variables for clarity and ease of modification. IDEA_PATH="/path/to/intellij" PROJECT_NAME="my_scala_project" cd "$IDEA_PATH"/config/options || exit sed -i '' 's/<option name="VERSION" value=".*" \/>/<option name="VERSION" value="2.12" \/>' jdk.table.xml echo "Switched $PROJECT_NAME's Scala SDK to version 2.12." ``` 此脚本假设您已知确切的目标位置以及期望设定的新值(这里设为了2.12作为例子展示). 实际操作前请先备份原始文档以防万一发生意外状况! --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ha_lydms

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值