[英]Trying to run Java program with classpath; java is not able to find my original compiled class
[英]How is my Java code compiled if my CLASSPATH variable is empty?
我知道$CLASSPATH
包含Java編譯器查找jar文件以使用其類的路徑列表。
當我鍵入: echo $CLASSPATH
我得到一個空行,這意味着CLASSPATH
為空。
現在,我編寫了以下代碼:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Hello");
System.out.println(arrayList);
}
}
並使用以下命令進行編譯:
javac Main.java
文件編譯成功。 如果CLASSPATH
為空,那么Java編譯器如何找到類java.util.ArrayList
?
從Oracle文檔中:
CLASSPATH變量是一種告訴應用程序(包括JDK工具)在哪里尋找用戶類的方法。 (屬於JRE,JDK平台和擴展名的類應通過其他方式定義,例如引導類路徑或擴展名目錄。)
因此, classpath
實際上是針對用戶類的,而ArrayList
是JDK的一部分。 也:
類路徑的默認值為“。”,這意味着僅搜索當前目錄。
有關完整說明,請看這里: java path 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.