You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle7.1+Kotlin+Java11环境使用rometools报unresolved reference错误

问题根因

所有unresolved reference类找不到报错的核心原因是运行/编译环境未引入rometools的依赖包,编译器无法定位对应类的定义。

解决步骤

场景1:你在Gradle管理的常规Kotlin/JVM项目中运行代码

  • 打开项目根目录的build.gradle.kts文件,在dependencies代码块中添加rometools依赖:
dependencies {
    // 保留你项目已有的其他依赖
    implementation("com.rometools:rome:2.1.0")
}
  • 触发Gradle项目同步(IDEA可点击右上角的Gradle大象图标执行同步),同步完成后依赖会自动下载,引用报错即可消失。

场景2:你当前运行的是IDEA的Kotlin scratch脚本(从报错路径的scratch.kts可判断)

scratch脚本默认不会复用项目的Gradle依赖,可选择两种方案处理:

  • 方案1:将当前代码迁移到项目的源码目录下作为普通代码运行,自动继承项目配置的rometools依赖
  • 方案2:在scratch.kts文件开头添加依赖引入指令,Kotlin脚本支持直接声明第三方依赖:
@file:DependsOn("com.rometools:rome:2.1.0")
import com.rometools.rome.feed.synd.SyndFeed
import com.rometools.rome.io.SyndFeedInput
import com.rometools.rome.io.XmlReader
import java.net.URL

fun parseRSSFeed(feedUrl:String): SyndFeed? {
    val feed = SyndFeedInput().build(XmlReader(URL(feedUrl)))
    println(feed.title)
    return feed
}

注:你原代码中参数名和内部变量名都叫feed存在重名冲突,示例中已将参数名改为feedUrl避免编译警告。

内容的提问来源于stack exchange,提问作者SomethingsGottaGive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 07:27:01