我想知道是否存在任何类型的库或解决方法来使用我的运行时编译的类(我动态生成我的类,编写 .java,然后在 .class 中编译它们,所有这些都发生在运行时)而不使用反射库?
使用反射加载我总是必须像这样工作:
//path where my newly generated classes are
File file = new File("e:\\tmp");
// Convert File to a URL
URL url = file.toURI().toURL();
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("eu.dataaccess.footballpool.TGoal");
// Create an instance of the class just loaded
Object o = cls.newInstance();
Method method2 = cls.getDeclaredMethod("getIMinute");
Object result2 = method2.invoke(o);
我的问题是是否可以在运行时使用
TGoal x = new TGoal();
和
x.getIMinute();
编辑:似乎不可能按照我希望的方式行事。我修改了我的问题:是否可以在运行时加载整个包,以使加载的包的类能够在没有 method.invoke 的情况下相互通信,同时包的主要激活是通过方法调用()?
我试过没有任何运气,我有一些“错误:找不到符号”,运行时加载的类似乎无法相互通信