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?
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)