1. 程式人生 > >關於Java類檔案執行路徑的處理方法

關於Java類檔案執行路徑的處理方法

1.javac可以正常編譯,但java執行時提示:無法載入主類,如: 在這裡插入圖片描述 說明類在編譯的時候已經將類所在的package編譯到位元組碼中: 在這裡插入圖片描述 所以在java執行時需要有對應的pageck路徑來找到所要執行的class 執行方法:java jvm.java7method.MethodTestV0 注意:如果時Linux或mac系統,在命令列模式下需要cd 到jvm的上級目錄。

2.關於Class.forName(類路徑)的呼叫 由於Class.forName的模式是通過放射機制來呼叫class位元組碼中的內容,所以同樣要使用package的路徑來進行訪問,如上例的類載入: Class.forName(“jvm.java7method.MethodTestV0”); 測試程式碼:

package jvm.java7method;
import java.lang.reflect.Method;
public class MethodTestV0 {
    public static void target(int i) {
        new Exception("#" + i).printStackTrace();
    }
    public static void main(String[] args) throws Exception{
        Class<?> classTestVo = Class.forName("jvm.java7method.MethodTestV0");
        Method method = classTestVo.getMethod("target",int.class);
        method.invoke(null,0);
        //System.out.println("HelloWorld!");
    }
}

在這裡插入圖片描述