我有兩個文件,一個在我的本地機器中,另一個在共享文件夾中(來自另一臺機器)。Java通過從共享文件夾中的文件繼承來執行
本地機器上的我的類必須從共享文件夾中的文件中的類繼承。
我該如何執行此繼承?
我試過給集CLASSPATH=%CLASSPATH%;//(machineNo)/(foldername);
,但這沒有奏效。
我有兩個文件,一個在我的本地機器中,另一個在共享文件夾中(來自另一臺機器)。Java通過從共享文件夾中的文件繼承來執行
本地機器上的我的類必須從共享文件夾中的文件中的類繼承。
我該如何執行此繼承?
我試過給集CLASSPATH=%CLASSPATH%;//(machineNo)/(foldername);
,但這沒有奏效。
URLClassLoader
可用於輕鬆開發能夠從遠程服務器加載類和資源的應用程序。首先,您需要定義要爲類進行搜索的URL。任何以'/'結尾的URL都被認爲是指向一個目錄,否則該URL被認爲是指將根據需要打開的JAR文件。構造URLClassLoader的實例後,將使用ClassLoader類的loadClass(String name)
方法來加載具有指定名稱的類。一旦加載了一個類,就可以創建一個實例(這意味着構造函數將被調用)。
import java.net.*;
import java.io.*;
public class MyLoader {
public static void main (String argv[]) throws Exception {
URLClassLoader loader = new URLClassLoader(new URL[] { new URL("http://www.javacourses.com/classes/") });
// Load class from class loader. argv[0] is the name of the class to be loaded
Class c = loader.loadClass (argv[0]);
// Create an instance of the class just loaded
Object o = c.newInstance();
}
}
你可以閱讀完整文章here
感謝您的信息:) – Tom
如果繼承你的意思延伸,然後只需加載類是不夠的。
您將需要一些字節碼操作庫(如cglib)來即時創建派生類。 (不是說這是一個艱鉅的任務,但它有很多可能的陷阱,所以要小心:))
@Rob Kielty:感謝您的編輯,我在這裏是一個新手。 –
不用擔心。 :-) –
我想只是將它們複製到同一個目錄是不可能的? – Alex
它不應該被複制到同一個目錄中。 – Tom