В настоящее время я пытаюсь развернуть приложение Java в IBM Liberty для Cloud Foundry. Приложение является приложением Spring-Boot. Развертывание отлично работает при нажатии самого EAR. Но мне нужно изменить server.xml сервера Liberty. Таким образом, теперь я помещаю каталог defaultServer, содержащий server.xml и мой EAR.
На данный момент я скопировал файл server.xml из профиля в облаке, когда он успешно развернут через push EAR. Поэтому я ожидаю, что server.xml будет работать. Но когда я сейчас развернул сервер по умолчанию, я внезапно получаю исключение ClassNotFoundException при запуске сервера.
Что не так? Почему он вдруг не находит событие зависимостей, хотя EAR почти такой же.
------Start of DE processing------ = [4/15/19 21:12:17:313 UTC]
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 could not be instantiated
at java.util.ServiceLoader.fail(Unknown Source)
at java.util.ServiceLoader.access$100(Unknown Source)
at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeServletContainerInitializers(WebApp.java:2453)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:995)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6594)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:467)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:462)
at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:1140)
at com.ibm.ws.webcontainer.osgi.WebContainer.access$000(WebContainer.java:110)
at com.ibm.ws.webcontainer.osgi.WebContainer$3.run(WebContainer.java:952)
at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:239)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org.springframework.context.ApplicationContextInitializer
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:357)
at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:281)
at java.lang.ClassLoader.loadClassHelper(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:522)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeServletContainerInitializers(WebApp.java:2453)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:482)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.cloudfoundry.reconfiguration.spring.AutoReconfigurationServletContainerInitializer.<clinit>(AutoReconfigurationServletContainerInitializer
.java:33)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Unknown Source)
... 17 more
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextInitializer
at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:544)
at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:286)
at java.lang.ClassLoader.loadClassHelper(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:522)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:482)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 29 more
Я ожидаю, что приложение запускается так же, как и при нажатии EAR, чтобы я мог продолжать манипулировать server.xml по мере необходимости.
Спасибо,
Alex