websphere中的类加载问题

websphere中的类加载问题,websphere,websphere-6.1,Websphere,Websphere 6.1,我们有一个生产服务器,它是一个websphere实例,在那里我们将一个jar(例如,c.jar,它已经存在于EAR中,现在被覆盖)复制到EAR,该EAR已经作为热修复程序部署。 我有一个类A,它引用了c.Jar中的同一个Jar中的类B,当加载类A时,类B无法找到并导致NoClassFoundError。 服务器中的热部署已禁用。但是,重新启动服务器后,A可以找到B。我们缺少任何属性吗?为什么B类虽然存在于同一个jar中,但在重新启动后却找不到。另外,在复制jar之前,旧的c.jar在加载了类A和

我们有一个生产服务器,它是一个websphere实例,在那里我们将一个jar(例如,c.jar,它已经存在于EAR中,现在被覆盖)复制到EAR,该EAR已经作为热修复程序部署。 我有一个类A,它引用了c.Jar中的同一个Jar中的类B,当加载类A时,类B无法找到并导致NoClassFoundError。
服务器中的热部署已禁用。但是,重新启动服务器后,A可以找到B。我们缺少任何属性吗?为什么B类虽然存在于同一个jar中,但在重新启动后却找不到。另外,在复制jar之前,旧的c.jar在加载了类A和类B的情况下运行良好。我们在应用服务器启动时使用was 6.1,它创建您在was JVM实例中部署的应用程序的类文件,以使其在运行时可用。在探索应用程序时,会加载其他类。当您删除/覆盖jar文件时,您正在断开链接,这就是其他类无法在c.jar中找到这些类的原因。当您重新启动JVM时,JVM运行时会加载一个新的类文件,您发现它可用。

更改后是否重新启动了应用程序?有关更多详细信息,请参见此处。不建议直接复制jar。另外,6.1现在已经失去了支持。您应该迁移到更新的版本。重启后工作正常,但为什么jar文件中存在类,但却出现了类加载问题。然而,在重启之后,它工作得很好,感谢您的解释,但是这个问题并没有在更早的时候发生。这种情况现在才发生