[JAVA] JAVA 類路徑

Java 類路徑

類路徑是全部包含類文件的路徑的集合。
類路徑中的目錄和歸檔文件是搜尋類的起始點。java

虛擬機搜尋類測試

  • 搜尋jre/lib和jre/lib/ext目錄中歸檔文件中所存放的系統類文件
  • 搜尋再從搜尋類路徑

測試搜尋類

Person.java 源文件this

public class Person
{
    private String name;

    public Person(String name)
    {
        this.name = name;
    }

    public void PrintName()
    {
        System.out.println("Name is:" + name);
    }
}

Welcome.java 源文件spa

/**
 * This program dispalys Hello World 
 * @version 1.0 
 * @author ABeen
 * */


public class Welcome
{
    public static void main(String[] args)
    {
        String greeting = "Hello World!";
        System.out.println(greeting);

        String name = "ABeen";
        Person e = new Person(name);
        e.PrintName();
    }
}

測試執行
在源碼所在目錄執行code

mac-abeen:java abeen$ javac Welcome.java  編譯正常
mac-abeen:java abeen$ java Welcome        執行正常
Hello World!
Name is:ABeen
mac-abeen:java abeen$

在非源碼目錄執行源碼

編譯代碼虛擬機

//未設置類路徑,編譯時找不到引用的源文件
mac-abeen:alearn abeen$ javac ./java/Welcome.java  
./java/Welcome.java:16: 錯誤: 找不到符號
        Person e = new Person(name);
        ^
  符號:   類 Person
  位置: 類 Welcome
./java/Welcome.java:16: 錯誤: 找不到符號
        Person e = new Person(name);
                       ^
  符號:   類 Person
  位置: 類 Welcome
2 個錯誤

//設置類路徑
mac-abeen:alearn abeen$ javac -cp ./java ./java/Welcome.java

執行代碼io

//未設置類路徑
mac-abeen:alearn abeen$ java ./java/Welcome 
錯誤: 找不到或沒法加載主類 ..java.Welcome
緣由: java.lang.ClassNotFoundException: //java/Welcome

//設置類路徑
mac-abeen:alearn abeen$ java --class-path=/Users/abeen/abeen/alearn/java Welcome
Hello World!
Name is:ABeen
相關文章
相關標籤/搜索