我们最近迁移到 JBOSS AS 7。由于它基于 OSGi 并且所有模块都是隔离的,因此我们遇到了问题。
我们的 jar 之一是由 URLclassloader 从 JBOSS 模块之外的指定目录加载的。
Class[] parameters = new Class[]{URL.class};
URLClassLoader sysloader = (URLClassLoader)ClassLoader.getSystemClassLoader();
Class sysclass = URLClassLoader.class;
Method method = sysclass.getDeclaredMethod("addURL",parameters);
method.setAccessible(true);
method.invoke(sysloader,new Object[]{ flist[i].toURI().toURL()});
flist[i] 包含要加载的完整路径的 jar。
在 AS 7 之后,以前可以使用此方法,但未加载此类。
我知道您可以将这些 jar 添加到模块文件夹并指定依赖项。但我们希望这能奏效。
有解决方案吗?