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


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;
| ^---------------------------------^


在上面,仅导入该类不起作用,因为类路径不知道该包。我们需要使用命令“/env –class-path <jars, class files>”将jars class files 添加到classpath 中。

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

更新时间:2020 年 2 月 24 日

2K+ 浏览

启动你的 职业生涯

完成课程获得认证

开始
广告