Search code examples
springspring-bootmaventomcatintellij-idea

Spring no working correctly in Intellij idea


I am trying to work on a new IDE, Spring was working fine, I was able to run Tomcat and I could load pages on local servers. But, I added several dependencies in the XML and now it does not run tomcat.

https://i.sstatic.net/9NnEx.png

POM.XML --> Dependencies used

Java-version

<properties>
<java.version>11</java.version>
</properties>
<dependencies>

Spring MVC:

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

Tomcat Embed:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

JSTL:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>

To compile JSP files

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>

Test:

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

SPRING DATA:

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

MySQL:

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.47</version>
</dependency>

Commons-lang3:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>

tika-parsers

<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>1.17</version>
</dependency>

File upload

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
</dependencies>

Solution

  • You can try with any of the below two approaches:

    Approach 1:

    You can try it by removing the below dependency from pom.xml as tomcat-embed-jasper includes dependency with tomcat-embed-core.

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
    </dependency>
    

    Approach 2:

    Remove the scope as provided from spring-boot-starter-tomcat dependency as shown below:

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

    Note: I was able to replicate this issue and it worked fine for me with the above approaches.