Не удалось создать экземпляр AutoReconfigurationServletContainerInitializer.

Я развертываю приложение Java EE в Bluemix, и когда приходит первый запрос, я получаю эту ошибку:

2015-05-20T23:11:58.51+0200 [App/0] OUT [INFO] FFDC1015I: был создан инцидент FFDC: «java.util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider org.cloudfoundry.reconfiguration.spring Не удалось создать экземпляр .AutoReconfigurationServletContainerInitializer com.ibm.ws.webcontainer.osgi.DynamicVirtualHost startWebApp" в ffdc_15.05.20_21.11.58.0.log

Думаю, это кусок кода из Liberty Buildpack. Вот файл содержимого ffdc_15.05.20_21.11.58.0.log (кажется, ClassNotFoundException, но поскольку он не является частью моего приложения, я не знаю, что делать):

Спасибо!

Я предполагаю, что ваше приложение использует Spring Framework, и это запускает Автоматическая реконфигурация Spring. Если вам не нужна эта поддержка автоматической перенастройки, вы можете отключить ее, установив следующую переменную среды для своего приложения и выполнив повторную настройку:


person Jose Miguel Ordax    schedule 20.05.2015    source источник


Ответы (1)


Спасибо! Мне сказали, что проблема возникает из-за того, что у меня в приложении старая версия Spring. Я думаю, что это должно быть где-то задокументировано... но теперь все ясно.

cf set-env <app-name> JBP_CONFIG_SPRINGAUTORECONFIGURATION "enabled: false"

cf restage <app-name>
person Jack-Junjie Cai    schedule 21.05.2015
comment
Exception = java.util.ServiceConfigurationError Source = com.ibm.ws.webcontainer.osgi.DynamicVirtualHost probeid = startWebApp Stack Dump = java.util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider org.cloudfoundry.reconfiguration.spring.AutoReconfigurationServletContainerInitializer не удалось быть создан в java.util.ServiceLoader.fail(неизвестный источник) в java.util.ServiceLoader.access$100(неизвестный источник) в java.util.ServiceLoader$LazyIterator.next(неизвестный источник) в java.util.ServiceLoader$1.next (Неизвестный источник) по адресу com.ibm.ws.webcontainer.webapp.WebApp.initializeServletContainerInitializers(WebApp.java:2454) по адресу com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1038) по адресу com.ibm .ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6396) по адресу com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:446) по адресу com.ibm.ws.webcontainer.osgi.DynamicVirtualHost .createRunna bleHandler(DynamicVirtualHost.java:248) на com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.createRunnableHandler(DynamicVirtualHost.java:313) на com.ibm.ws.http.internal.VirtualHostImpl.distribute(VirtualHostImpl.java:251) на com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:306) на com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:449) на com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:383) на com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:283) на com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:254) на com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:174) на com.ibm .ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnect ionInitialReadCallback.java:83) по адресу com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:504) по адресу com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:574) по адресу com .ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:929) в com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1018) в java.util.concurrent.ThreadPoolExecutor .runWorker (неизвестный источник) в java.util.concurrent. ThreadPoolExecutor$Worker.run(неизвестный источник) в java.lang.Thread.run(неизвестный источник) Вызвано: java.lang.NoClassDefFoundError: org.springframework.context.ApplicationContextInitializer в java.lang.ClassLoader.defineClassImpl(собственный метод) в java.lang.ClassLoader.defineClass(неизвестный источник) в com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:297) в com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java :241) в java.lang.ClassLoader.loadClassHelper(неизвестный источник) в java.lang.ClassLoader.loadClass(неизвестный источник) в com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:390) в com .ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:362) в java.lang.ClassLoader.loadClass(неизвестный источник) в org.cloudfoundry.reconfiguration.spring.AutoReconfigurationServletContainerInitializer.(AutoReconfigurationServletCon tainerInitializer.java:33) в java.lang.J9VMInternals.newInstanceImpl(собственный метод) в java.lang.Class.newInstance(неизвестный источник) ... еще 23 Вызвано: java.lang.ClassNotFoundException: org.springframework.context. ApplicationContextInitializer в com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:412) в com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:246) в java.lang.ClassLoader. loadClassHelper(неизвестный источник) в java.lang.ClassLoader.loadClass(неизвестный источник) в com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:390) в com.ibm.ws.classloading.internal.AppClassLoader .loadClass(AppClassLoader.java:362) в java.lang.ClassLoader.loadClass(неизвестный источник) ... еще 35 - person Jose Miguel Ordax; 22.05.2015