我需要使用反射从另一个主方法调用Java类的main方法.
必须使用反射才能删除被调用的主类的编译时依赖性.直接的方法不会产生,因为它只识别'公共'和'非静态'方法.建议?
Voo*_*Voo 52
不应该比调用任何其他函数更复杂:
public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
Class<?> cls = Class.forName("pkg1.pkg2.classname");
Method meth = cls.getMethod("main", String[].class);
String[] params = null; // init params accordingly
meth.invoke(null, (Object) params); // static method doesn't have an instance
}
Run Code Online (Sandbox Code Playgroud)
但我真的没有看到很多用途,它唯一能给你买的就是你只要你从不使用那个特定的代码路径就可以编译程序而不需要连接另一个程序,但是如果这就是你需要的,那么我们走 ;)
归档时间: |
|
查看次数: |
24035 次 |
最近记录: |