P110
P110

Reputation: 5

IDEA import of Maven GitHub projects not working/running -> "Cannot resolve symbol"

#### UPDATE v2 ####

Ok I found out the issue, it was in fact an IDEA bug. More precisely, it's the git extension, gitflowincrementalbuilder, which from 3.8+ breaks Idea. Changing version to 3.7 solves it, for now.

https://github.com/vackosar/gitflow-incremental-builder/issues/91

Intellij/git, please fix it


------ Old Update v1 -----

I just tried running the project with Eclipse... works perfectly without any issues whatsoever, at first try... So it's kind of a Intellij-IDEA bug/problem (...)


I am trying to run some examples from Github, the spring spring-boot ones from baeldung.com; more specifically this one (no one works in idea): https://github.com/eugenp/tutorials/tree/master/spring-mvc-simple-2

While it works using Maven commands, "mvn clean install" and then "mvn spring-boot:run", wont work in Idea (it does clean and install ok, but no run). Project is imported using "New"->"Project from Existing Sources" (check images below for settings).

I think there is some problem with the pom imported configuration, especially since there is a multi module structure (parent tag); cannot even resolve @SpringBootApplication.

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<artifactId>spring-mvc-simple-2</artifactId>
<packaging>war</packaging>
<name>spring-mvc-simple-2</name>

<parent>
    <groupId>com.baeldung</groupId>
    <artifactId>parent-boot-2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../parent-boot-2</relativePath>
</parent>

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

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
        </plugin>
    </plugins>
    <finalName>spring-mvc-simple2</finalName>
</build>

I have been trying to add a SpringBoot configuration manually using IDEA gui but it doesnt recognize the application class (?). What partially works though is replacing the parent pom with:

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

Tests still wont work, but I dont think u're supposed to change/edit the pom file manually to make things works...

I have been trying alot already: invalidate cache, maven reimport & Generate sources and update folders, using mvn first, checking all jdk configuration... nothing works.

Idea_Import_Step1

Idea_Import_Step2

Idea_Import_Step3

Idea_Error_After_Import

Upvotes: 0

Views: 1963

Answers (1)

Simon Martinelli
Simon Martinelli

Reputation: 36103

You didn't build the parent module so IntelliJ does not find this in your local Maven repository.

You should run mvn install in the project: https://github.com/eugenp/tutorials/blob/master/parent-boot-2/pom.xml

But also exchanging the parent helps like you described yourself.

To make the tests run you have to add the test dependency from the parent:

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

Upvotes: 1

Related Questions