Hello,

i am having some trouble getting my Spring Boot application for Google App 
Engine to start after upgrading the Spring Boot version. Any help would be 
much appreciated. Thank you!

ERROR:

org.springframework.context.ApplicationContextException: *Unable to start 
web server; nested exception is 
org.springframework.context.ApplicationContextException: Unable to start 
ServletWebServerApplicationContext due to missing ServletWebServerFactory 
bean.*
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161)
 
~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
 
~[spring-context-5.2.6.RELEASE.jar:5.2.6.RELEASE]
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
 
~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:315) 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) 
[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
com.agilehp.edge.api.EdgeApplicationLauncher.main(EdgeApplicationLauncher.java:26)
 
[classes/:na]
Caused by: org.springframework.context.ApplicationContextException: Unable 
to start ServletWebServerApplicationContext due to missing 
ServletWebServerFactory bean.
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getWebServerFactory(ServletWebServerApplicationContext.java:203)
 
~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:175)
 
~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:158)
 
~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
... 9 common frames omitted

Process finished with exit code 1

EdgeApplicationLauncher.java


package com.abc.xyz.api;
import java.util.concurrent.Executor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import 
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.core.task.TaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.web.bind.annotation.CrossOrigin;

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration 
@ComponentScan
@EnableAsync
@EnableScheduling
@CrossOrigin("*")
public class EdgeApplicationLauncher {

    public static void main(String[] args) {
        //System.setProperty("java.io.tmpdir", "/edge-tmp");
        SpringApplication.run(EdgeApplicationLauncher.class, args);
    }


}


POM.xml


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   <modelVersion>4.0.0</modelVersion>

   <groupId>com.abc</groupId>
    <artifactId>abc-api</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>war</packaging>

       <name>ABC Web Service</name>
   <description>Spring Boot</description>

       <parent>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-parent</artifactId>
           <version>2.3.0.RELEASE</version>
           <relativePath/> <!-- lookup parent from repository -->
       </parent>

       <dependencies>

         <!-- Google Secret API -->
         <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-secretmanager</artifactId>
            <version>1.0.1</version>
         </dependency>


<!-- https://mvnrepository.com/artifact/com.google.cloud/google-cloud-datastore 
-->
<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-datastore</artifactId>
    <version>1.103.0</version>
</dependency>
         <!-- add following dependency under dependencies section -->
         <!-- 
https://mvnrepository.com/artifact/com.google.auth/google-auth-library-oauth2-http
 -->
         <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
            <version>0.13.0</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/com.stripe/stripe-java -->
<dependency>
    <groupId>com.stripe</groupId>
    <artifactId>stripe-java</artifactId>
    <version>8.1.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.7</version>
</dependency>
<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage</artifactId>
    <version>1.17.0</version>
</dependency>
         <dependency>
               <groupId>javax.servlet</groupId>
               <artifactId>javax.servlet-api</artifactId>
               <version>3.1.0</version>
               <!-- <scope>provided</scope> -->
           </dependency>
         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
         </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-mail</artifactId>
               <version>1.4.3.RELEASE</version>
           </dependency>
           <dependency>
               <groupId>org.apache.commons</groupId>
               <artifactId>commons-lang3</artifactId>
               <version>3.7</version>
           </dependency>
           <dependency>
               <groupId>com.auth0</groupId>
               <artifactId>java-jwt</artifactId>
               <version>3.2.0</version>
           </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.0</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.11.0</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.11.0</version>
         </dependency>

           <dependency>
               <groupId>io.jsonwebtoken</groupId>
               <artifactId>jjwt</artifactId>
               <version>0.9.0</version>
           </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
            <exclusions>
               <exclusion>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-logging</artifactId>
               </exclusion>
            </exclusions>
         </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-web</artifactId>
               <exclusions>
                   <exclusion>
                       <groupId>org.springframework.boot</groupId>
                       <artifactId>spring-boot-starter-tomcat</artifactId>
                   </exclusion>
               </exclusions>
           </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
         </dependency>
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-secretmanager</artifactId>
            <version>1.2.3.RELEASE</version>
         </dependency>
         <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-test</artifactId>
               <scope>test</scope>
           </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.17.Final</version>
         </dependency>
         <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.1.5.Final</version>
         </dependency>

           <!-- https://mvnrepository.com/artifact/org.json/json -->
           <dependency>
               <groupId>org.json</groupId>
               <artifactId>json</artifactId>
               <version>20180130</version>
           </dependency>
           <dependency>
               <groupId>org.slf4j</groupId>
               <artifactId>jul-to-slf4j</artifactId>
               <scope>provided</scope>
           </dependency>
       </dependencies>


       <properties>
           <java.version>1.8</java.version>
       </properties>
       <build>
           <plugins>
               <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
               </plugin>
               <plugin>
                   <groupId>com.google.appengine</groupId>
                   <artifactId>appengine-maven-plugin</artifactId>
                   <version>1.9.60</version>
               </plugin>
           </plugins>
       </build>
   </project>




-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/d1f377a9-a1a4-460f-a79a-ea4d36995d2bo%40googlegroups.com.

Reply via email to