Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธี Import External Libraries ใน JShell ของ Java 9

JShell และ Import

JShell เป็นเครื่องมือ REPL สำหรับเรียนรู้และ prototype โค้ด Java โดยมีการ import package พื้นฐานบางส่วนอัตโนมัติเมื่อเริ่ม session

ดู Import เริ่มต้น

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

ปัญหา: Import External Library ไม่ได้

ลอง import javax.mail.internet.InternetAddress จะ error เพราะ package ไม่อยู่ใน classpath

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

แก้ไข: เพิ่ม JAR เข้า Classpath

ใช้คำสั่ง /env --class-path

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

ทดสอบสร้าง Object

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

สรุปขั้นตอน

  1. ดู import เริ่มต้นด้วย /imports
  2. หา JAR file ของ library ที่ต้องการ
  3. เพิ่ม classpath ด้วย /env --class-path <path-to-jar>
  4. import class ตามปกติ

หมายเหตุ

JShell จะ reset state เมื่อเปลี่ยน classpath ดังนั้นตัวแปรเก่าจะหายไป