Я сталкивался с одной и той же проблемой пару раз, и есть несколько потенциальных решений:
У вас есть структура каталогов / файлов, которая выглядит примерно так: webapp/WEB-INF/appengine-web.xml
?Если у вас есть этот файл и вы используете для развертывания плагин maven, он может попытаться выполнить развертывание в качестве стандартного и вызвать ошибку IllegalStateException.Решение: полностью удалить каталог webapp
(он используется только для стандартной конфигурации AppEngine).Лично это было решением проблемы IllegalStateException, которую я получил сегодня утром.
У меня была такая же проблема в другом приложении, и решение состояло в том, чтобы убедиться, что у вас есть ServletInitializer, требуемый Jetty, в приложении Spring Boot в AppEngine.Подробнее об этом здесь .
Вы уверены, что приложение Spring Boot работает правильно?Я получил эту ошибку, когда не смог предоставить необходимые переменные среды, что вызывало проблемы при попытке приложения.Один (рабочий) пример может выглядеть примерно так, обеспечивая добавление соответствующих переменных среды в app.yaml:
app.yaml:
env_variables:
SPRING_PROFILES_ACTIVE: "qa"
application.properties:
spring.profiles.active="${SPRING_PROFILES_ACTIVE}"
В обоих случаях я не включил зависимость от молнии при загрузке, вместо этого мой build.gradle выглядел примерно так:
compile(group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1')
compile(group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.2.RELEASE') {
// GAE runs on Jetty, not Tomcat, must manually disable
exclude(group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat')
}
compile(group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.0.5.RELEASE')
compile(group: 'com.google.appengine', name: 'appengine-api-1.0-sdk', version: '1.9.63')
compile(group: 'org.projectlombok', name: 'lombok', version: '1.18.2') {
exclude(group: 'org.slf4j', module: 'jul-to-slf4j')
}