问题描述
现在两个工程1、工程A是调用工程2、工程B是被调用工程其中如果工程B中没有调用第三方的jar包时通过动态加载(URLClassLoader)的方式可以调用工程B中类的方法。现在工程B中引入了第三方的一个jar包如commons-lang-2.5.jar只用到一个StringUtils.isBlank()方法这时候A动态加载B中的类时就会报java.lang.NoClassDefFoundError求解打包的MANIFEST.MF文件如:Manifest-Version:1.0Class-Path:extlib/commons-lang-2.5.jar调用:Stringfile="/Users/xxx/Desktop/JavaPlugin.jar";ClassLoaderUtil.loadJarFile(newFile(file));Class<?>worker=Class.forName("plugin.Worker");ITesta=(ITest)worker.newInstance();System.out.println(a.doWork());
解决方案
解决方案二:
ClassLoaderUtil.loadJarFile加载下commons-lang-2.5.jar包
时间: 2024-12-11 14:51:35