Я не могу запустить файл Spring Boot war в ibm websphere

#spring-boot #websphere

Вопрос:

Я разработал очень простое загрузочное приложение Sring, создавшее файл war.При попытке запустить этот файл войны ibm websphere выдает ошибку.

Пожалуйста, найдите эту ошибку.

 300=> com.ibm.ws.exception.RuntimeWarning:

 com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: 

 Failed to load webapp: Failed to load webapp: java.lang.LinkageError:

 loading constraint violation when overriding method amp;amp;quotamp;#59;org/springframework/boot/ApplicationContextFactory.createamp;amp;#40amp;#59;Lorg/springframework/boot/WebApplicationTypeamp;amp;#59amp;#59;amp;amp;#41amp;#59;Lorg/springframework/context/ConfigurableApplicationContextamp;amp;#59amp;#59;amp;amp;quotamp;#59; during creation of class amp;amp;quotamp;#59;org/springframework/boot/ApplicationContextFactory$Lambda$603/000000006C9B6F80amp;amp;quotamp;#59;: loader amp;amp;quotamp;#59;java/lang/InternalAnonymousClassLoader@a99c89c1amp;amp;quotamp;#59; of class amp;amp;quotamp;#59;org/springframework/boot/ApplicationContextFactory$Lambda$603/000000006C9B6F80amp;amp;quotamp;#59; and loader amp;amp;quotamp;#59;com/ibm/ws/classloader/CompoundClassLoader@2d88f42eamp;amp;quotamp;#59; of class amp;amp;quotamp;#59;org/springframework/boot/ApplicationContextFactoryamp;amp;quotamp;#59; have different types for the method signature

301=>   at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:433)

301=>   at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:719)

301=>   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1211)

301=>   at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1390)

301=>   at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)

301=>   at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:979)

301=>   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:795)

302=>   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1413)

302=>   at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2273)

302=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:436)

302=>   at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)

302=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:379)

302=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:127)

303=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:654)

303=>   at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5554)

303=>   at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5680)

303=>   at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)

303=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:668)

303=>   at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:612)

303=>   at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1303)
 

Ответ №1:

Пожалуйста, ознакомьтесь с политикой загрузки загрузчика классов в консоли приложений WebSphere.Измените политику загрузки классов для приложения

Комментарии:

1. Не могли бы вы предоставить пример базового приложения spring boot, которое можно развернуть в WebSphere. Если вы можете предоставить ссылку на репозиторий GitHub, это очень полезно, пожалуйста.

2. Любое приложение для весенней загрузки будет работать, Саджит. Вам нужно быть осторожным только в отношении определенных вещей, таких как зависимости от базы данных в проекте. Начните с очень простого приложения spring boot, используя только проект web starter. Поднимите его и запустите туда. Вам нужно просто убедиться в порядке загрузки класса.

3. Я попробовал использовать очень простую пружинную загрузку с инициализатора. Я пробовал несколько попыток, но бесполезно, у меня нет никакой зависимости от jdbc. Не могли бы вы предоставить пример репозитория GitHub.

4. Проблема не в приложении для весенней загрузки. После установки приложения на сервер вам нужно поиграть с параметрами загрузки классов и убедиться, что оно запускается правильно. По умолчанию это родительская стратегия загрузки первого класса, которую вам, возможно, придется изменить и отслеживать журналы запуска приложения