我试图使用反射来加载类的实例.当我尝试这样做时,我得到了一个没有这种方法的例外.我检查并检查并重新检查.那个构造函数显然确实存在.有没有人有任何想法?我之前已成功使用过这个代码基本相同的另一个项目,所以我不确定我搞砸了.来源可以在这里找到:
private void loadCommands() {
try {
for (Class<?> clazz : ReflectionsReplacement.getSubtypesOf(BaseCommand.class, "us.zsugano.itemsave.commands", plugin.getClass().getClassLoader(), BaseCommand.class)) {
BaseCommand baseCommand = null;
try {
baseCommand = (BaseCommand) clazz.getConstructor(ItemSave.class).newInstance(plugin);
if(Listener.class.isAssignableFrom(clazz)) {
plugin.getServer().getPluginManager().registerEvents((Listener) baseCommand, plugin);
}
} catch (Exception e) {
plugin.PluginPM.sendMessage(Level.SEVERE, "Issues encountered when trying to load commands.");
e.printStackTrace();
}
commands.add(baseCommand);
}
} catch (Exception e) {
plugin.PluginPM.sendMessage(Level.SEVERE, "Exception caught while loading commands.");
e.printStackTrace();
}
for (BaseCommand command : commands) {
plugin.getCommand(command.getName().toLowerCase()).setExecutor(this);
}
}
public abstract class BaseCommand {
public ItemSave plugin;
public …Run Code Online (Sandbox Code Playgroud)