getDeclaredMethod 不断给出 NoSuchMethodException
getDeclaredMethod keeps giving NoSuchMethodException
我看过一些关于 getDeclaredMethod 的 NoSuchMethodException 的帖子,但我仍然无法解决这个问题。
我将问题简单地隔离开来,有人可以解决这个问题吗:
public class MainMethodTest {
public static void main(String[] args) {
try {
//Method m = MainMethodTest.class.getDeclaredMethod("main");
Method m = MainMethodTest.class.getDeclaredMethod("main", MainMethodTest.class);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
Method m = MainMethodTest.class.getDeclaredMethod("main", MainMethodTest.class);
正在尝试查找您的代码中没有的 main(MainMethodTest argument)
方法。
如果你想获得main(String[] argument)
方法使用
Method m = MainMethodTest.class.getDeclaredMethod("main", String[].class);
方法的第二个参数getDeclaredMethod
就是你要获取的方法的参数。在你的情况下,它是主要的。所以你必须指定arg参数。
Class[] argTypes = new Class[] { String[].class };
Method main = MainMethodTest.class.getDeclaredMethod("main", argTypes);
检查这个 code 如何调用 main 方法。
我看过一些关于 getDeclaredMethod 的 NoSuchMethodException 的帖子,但我仍然无法解决这个问题。
我将问题简单地隔离开来,有人可以解决这个问题吗:
public class MainMethodTest {
public static void main(String[] args) {
try {
//Method m = MainMethodTest.class.getDeclaredMethod("main");
Method m = MainMethodTest.class.getDeclaredMethod("main", MainMethodTest.class);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
Method m = MainMethodTest.class.getDeclaredMethod("main", MainMethodTest.class);
正在尝试查找您的代码中没有的 main(MainMethodTest argument)
方法。
如果你想获得main(String[] argument)
方法使用
Method m = MainMethodTest.class.getDeclaredMethod("main", String[].class);
方法的第二个参数getDeclaredMethod
就是你要获取的方法的参数。在你的情况下,它是主要的。所以你必须指定arg参数。
Class[] argTypes = new Class[] { String[].class };
Method main = MainMethodTest.class.getDeclaredMethod("main", argTypes);
检查这个 code 如何调用 main 方法。