javaspringspring-bootintellij-ideaspring-initializr

Unable to run Spring Initializr using 2.2.1.BUILD-SNAPSHOT on IntelliJ


Trying to brushup on my j2ee so downloaded a Spring initializr zipped folder and imported in IntelliJ.

I am getting below error while trying to run it as Java Application.

2019-11-04 12:50:35.702  INFO 5900 --- [           main] com.example.spring.demo.DemoApplication  : Starting DemoApplication on DESKTOP-OPAMEU4 with PID 5900 (C:\JavaWS\demo\demo\target\classes started by hemis in C:\JavaWS\demo\demo)
2019-11-04 12:50:35.705  INFO 5900 --- [           main] com.example.spring.demo.DemoApplication  : No active profile set, falling back to default profiles: default
2019-11-04 12:50:36.413  INFO 5900 --- [           main] com.example.spring.demo.DemoApplication  : Started DemoApplication in 1.24 seconds (JVM running for 2.4)

Process finished with exit code 0

Below is my 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.BUILD-SNAPSHOT</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example.spring</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>13.0.1</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>

Any clues?


Solution

  • Given that your project is just generated from spring initializer it doesn't really do anything yet, and you'll have to add some functionality for it to not exit immediately.

    If you expect it to start as a webapp you'll have to add a dependency on spring-boot-starter-web.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    

    If you prefer tomcat as your container, you're good to go with the above dependency, but if you prefer something else - like jetty you'll have to exclude tomcat from spring-boot-starter-web

    <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-jetty</artifactId>
    </dependency>
    

    Then you'll get something close to this when starting running DemoApplication

      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::  (v2.2.1.BUILD-SNAPSHOT)
    
    2019-11-04 19:38:57.796  INFO 11674 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on hostname with PID 11674 (/tmp/demo/target/classes started by user in /tmp/demo)
    2019-11-04 19:38:57.800  INFO 11674 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
    2019-11-04 19:38:58.446  INFO 11674 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
    2019-11-04 19:38:58.451  INFO 11674 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2019-11-04 19:38:58.451  INFO 11674 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.27]
    2019-11-04 19:38:58.487  INFO 11674 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    2019-11-04 19:38:58.487  INFO 11674 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 641 ms
    2019-11-04 19:38:58.583  INFO 11674 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
    2019-11-04 19:38:58.690  INFO 11674 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
    2019-11-04 19:38:58.692  INFO 11674 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.148 seconds (JVM running for 1.714)