我有一个jar文件,我想将其放入我的应用程序服务器(WebLogic)的共享库中。该jar包含一些正在实现接口的类,这些接口位于战争部署的内部。部署有一个Spring单例,用于初始化共享jar中包含的类。无法从共享lib文件夹动态加载java类
所以我猜想的是该类无法加载,因为接口尚未加载(它们在部署中),并且当类加载器尝试加载该类时,它可能会收到一些编译错误(我不在任何地方都看不到),并且不会加载它,当部署尝试实例化尚未加载的内容时(共享jar),它会出错。
所以问题是我在这里做什么?我如何配置所有这些工作?我真的不想复制包含共享文件夹中所有接口的jar。 (它需要是一个整体.war文件)。
谢谢。
P.S.不幸的是,我没有任何错误/异常,而类加载域lib(共享)文件夹。当我尝试实例化它时,我只有java.lang.NoClassDefFoundError。
我不认为你有选择。将接口移动到lib目录。至少尝试一下,看看它是否有效。你为什么在共享库中的实现而不是接口? –
我已经尝试过了,事实上这就是我最初实现它的原因,但工作中的人不会分开战争档案,他们说所有东西都应该在一个可交付物中。我正在尝试.ear现在,使用APP-INF/lib文件夹,如果它起作用,我会在这里更新提要。同样关于实现 - 这些是客户实现,并且是可选的;这不是我们作为产品的可交付成果。 – nisenish