在Java中動態加載插件可以通過使用Java的反射機制實現。下面是一個簡單的示例代碼:
public interface Plugin {
void execute();
}
public class MyPlugin implements Plugin {
@Override
public void execute() {
System.out.println("Hello from MyPlugin");
}
}
public class Main {
public static void main(String[] args) {
try {
// 加載插件類
Class<?> pluginClass = Class.forName("MyPlugin");
Plugin plugin = (Plugin) pluginClass.newInstance();
// 調用插件方法
plugin.execute();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
在上面的例子中,我們使用Class.forName()方法加載插件類,然后使用newInstance()方法創建實例,并最終調用插件的execute()方法。
需要注意的是,插件類的路徑和名稱需要提前知道,并且需要在類路徑中能夠找到該類。在實際應用中,可以通過配置文件或者其他方式來管理插件類的加載。