gpt4 book ai didi

Scala REPL 无法导入包

转载 作者:行者123 更新时间:2023-12-01 11:49:04 25 4
gpt4 key购买 nike

我正在尝试在 Scala REPL 中导入 com.lambdaworks.crypto.SCryptUtil ( from crypto )。我正在从包含 com/lambdaworks/crypto 的 Java 目录运行 REPL。

REPL 无法找到 com.lambdaworks.crypto.SCryptUtil,但它可以自动完成直到 com.lambdaworks.crypto 但之后找不到任何内容.

当我在我的项目中包含包后在 IntelliJ IDEA 中使用 REPL 时,我能够找到 SCryptUtil 类。

我是否遗漏了一些导入所需的类路径参数?

最佳答案

REPL 不会为您编译 Java 代码——它只是自动完成那么远,因为它知道目录结构,但是一旦它到达 crypto 目录,它就找不到任何类文件。

您可以通过向上移动一个目录并打开一个新的 REPL 来更明显地看到这一点——您将能够自动完成 import java.com.lambdaworks.crypto,尽管这显然不是一个真实的包层次结构。

在这种情况下,您可以移动到项目根目录,运行mvn compile 来编译 Java 代码,然后像这样启动 REPL(仍然在项目根目录中):

scala -classpath target/classes

现在您可以导入 com.lambdaworks.crypto.SCryptUtil

这仅适用于项目没有任何运行时依赖项,但在其他情况下,您可能需要将其他内容添加到类路径,以构建具有内置依赖项的 JAR(例如使用 Maven Assembly plugin ), 或者使用 Maven 的 mvn scala:console 目标 Scala plugin .

关于Scala REPL 无法导入包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com