Scala项目导入TerminalFX依赖时编译错误求助
编译错误成因分析:object kodedu is not a member of package com
问题重现
- build.sbt中的依赖配置:
libraryDependencies += "com.kodedu.terminalfx" % "terminalfx-repo" % "1.2.0" from "https://github.com/javaterminal/TerminalFX/raw/master/releases"
- 导入语句:
import com.kodedu.terminalfx.TerminalBuilder
- 编译错误:
object kodedu is not a member of package com
错误成因及解决办法
1. 依赖配置完全错误
对照官方文档的Maven依赖说明(已翻译为中文):
5 Maven依赖
- 先将JitPack仓库添加到构建文件中:
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>
- 添加依赖:
<dependency> <groupId>com.github.javaterminal</groupId> <artifactId>TerminalFX</artifactId> <version>1.2.0</version> </dependency>
你当前的sbt依赖配置存在两处核心错误:
- groupId和artifactId与官方要求不符:正确的groupId是
com.github.javaterminal,artifactId是TerminalFX,而非你写的com.kodedu.terminalfx和terminalfx-repo from指向的是文件夹而非具体jar包:sbt的from参数需要指向单个jar文件的URL,你填写的仓库文件夹地址无法让构建工具正确拉取依赖
2. 正确的sbt配置方式
方式一:通过JitPack仓库自动拉取(推荐)
先在build.sbt中添加JitPack仓库:
resolvers += "jitpack.io" at "https://jitpack.io"
然后添加正确的依赖:
libraryDependencies += "com.github.javaterminal" % "TerminalFX" % "1.2.0"
方式二:直接指定jar包URL
如果想手动指定jar包地址,需要指向具体的jar文件(比如1.2.0版本的jar):
libraryDependencies += "com.github.javaterminal" % "TerminalFX" % "1.2.0" from "https://github.com/javaterminal/TerminalFX/raw/master/releases/terminalfx-1.2.0.jar"
3. 依赖刷新
修改配置后,执行sbt的update命令,或者在IDE中刷新sbt依赖,确保依赖被正确下载到本地仓库。
内容的提问来源于stack exchange,提问作者MPP
相关产品推荐
相关产品推荐

