關於Java類檔案執行路徑的處理方法
阿新 • • 發佈:2018-12-18
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!"); } }