在我的程序中,我动态地生成类,但是当我尝试时:

String[] args = {"-d","D:\\path\\build\\classes","-s","D:\\path\\src","http://services.aonaware.com/DictService/DictService.asmx?WSDL"};
WsImport.doMain(args);
URL url = new URL("file:D:/path/build/classes/com/aonaware/services/webservices/");
URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{url});
Class service = Class.forName("com.MyClass",true,urlClassLoader );


我收到了java.lang.ClassNotFoundException

如果我再运行一次该程序(在Eclipse中),则它正在运行。实际上,我只需要在Eclipse中刷新项目,然后使其工作即可

有人看到问题了吗

最佳答案

听起来像是类路径问题。确保所讨论的类(或包含它的jar)已编译并且在类路径中。

“动态生成类”到底是什么意思?如果为类生成Java源文件,则需要先将其编译为类文件,然后类加载器才能将其拾取。也许Eclipse在第二轮中做到了,这就是为什么它当时能起作用的原因。

关于java - 在运行时在Java中创建类的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2533432/

10-11 22:33
查看更多