如何在 Java 9 中的 JShell 中导入外部库?

javaobject oriented programmingprogramming更新于 2025/7/21 4:28:17

JShell  是一个用于学习 Java 语言和原型化 Java 代码的交互式工具。JShell 通过评估用户输入的命令来完成工作。此工具的工作原理是 REPL (读取-评估-打印-循环)。

默认情况下,JShell 在启动 JShell 会话时会自动导入一些有用的 Java 包。我们可以输入命令/imports 来获取所有这些导入的列表。

jshell> /imports
| import java.io.*
| import java.math.*
| import java.net.*
| import java.nio.file.*
| import java.util.*
| import java.util.concurrent.*
| import java.util.function.*
| import java.util.prefs.*
| import java.util.regex.*
| import java.util.stream.*
| import javax.mail.internet.InternetAddress

我们还可以使用以下步骤在 JShell 中导入外部库:

如果我们想创建一个位于 javax.mail.internet 包中的 InternetAddress  对象,那么我们需要在 JShell 中导入该包。

jshell> import javax.mail.internet.InternetAddress
| Error:
| package javax.mail.internet does not exist
| import javax.mail.internet.InternetAddress;
| ^---------------------------------^

在上面的代码中,仅仅导入类是行不通的,因为包对于类路径来说是未知的。我们需要使用以下命令将jars 或class 文件添加到classpath :"/env –class-path <jars, class files>"

jshell> /env --class-path \Users\user\mail-1.4.7.jar
| Setting new options and restoring state.

jshell> import javax.mail.internet.InternetAddress

最后,我们可以使用下面的方法创建一个 InternetAddress  对象

jshell> InternetAddress from = new InternetAddress("a@a")
from ==> a@a

相关文章


有用资源