I have cloned a spring boot project from GitLab having multiple branches in IntelliJ. I checkout to the branch in which I want to work. But I am getting "Java file outside of source root" on all the files. Please suggest what I am doing wrong. I just installed IntelliJ and it's the first project that I am importing.
If you do an 'import from git', IntelliJ doesn't import the project structure from maven (or gradle) automatically.
One way to do this afterwards is to right-click on the pom.xml file in the root directory, and select 'Add as maven project'. Then the folders will be marked correctly, and dependent libraries will be imported. There should be no need to mark individual source folders manually.
I prefer to do a git clone outside of IntelliJ, and afterwards open the project in IntelliJ from the local filesystem, then IntelliJ imports the maven project structure automatically.
A very simple solution: -
Click on "maven" on the right toolbar in IntelliJ and then click on the refresh button.
Update: Adding a screenshot on the New UI, but the location is the same on the old UI.
I fixed it using this way:
File > Project Structure > Modules > Sources
and then marked java files dir as Sources.
This has been driving me quite mad and I am a newbie as well. I finally solved it by using:
file > project structure >
Then going to Modules and removing all the files from the root using the x marks on the far right. I then used the +Add Content Root to reselect the src folders that contained my .java and hit Apply. Finally InteliJ sees the files as in the project and the folders gain the blue square on the main view.
To Solve: "Java file outside of source root"
- Open Project Structure.
- Select Modules in Project Settings in left pane.
- Click on the folder in which your Java files (showing file outside of source root) are present.
- Then Select Sources from Mark as: option.
- Apply the same steps for multiple folders.
MultiModule Project.
Select root pom.xml --> Click Maven -- Unlink <-- This will remove all sub modules
Select root pom.xml --> Add As Maven project
Then everythings worked..
Right click on pom.xm >> maven >> Reload project
Resolved !! Go to your project on IntelliJ -> Right click on pom.xml -> Add as Maven Project.
For ppl like me who also see that the POM file is crossed out and greyed(ignored):
You can right click the POM.xml, select "Maven - Unignore projects".
In intellij: click Maven, select the project and right, select Unignore Projects
Solution to "Java file outside of source root intelliJ"
Regenerate Maven Sources and Update Folders
Right click the pom.xml
> Maven
> Generate Sources and Update Folders
The project should now run
Here's an image of what the menu looks like:
File -> Project structure -> Modules
Remove the whole module, and click the add button then select 'Import Module', choose the root maven pom.xml of your project.
This saved my time.
I did a 'Maven reload' (or Gradle reload) from the upper-right 'Maven' ('Gradle') window and problem is solved.
File
->
Project Structure
->
Module
select the Sources tab in the third pane from the left
The solution that worked for me was to right click on the src folder and select "Mark Directory as" -> "Sources Root" or "Test Sources Root".
This is also mentioned in the comment to the question. But I had missed it so wanted to post it as an answer.
I had the same problem in my multi-module maven project. Doing some steps mentioned under this question solved the issues but it was not permanent. The issue appeared everyday. In-order to fix this I had to go to the project settings as shown below.
After that, I did check the following check boxes.
I don't know whether this would solve the issue for every occurrence. However, for me this was the fix.
- Maven version - 3.9.1
- IntelliJ version - 2023.1.2 (Community Edition)
I am sharing this thinking this might help someone. Thank you!
Go to
File >>Project Structure>>Modules>> Import Module>> (At this point your src folder will appear on the right most pane automatically ) >> Apply >> OK
IntelliJ may be ignoring files from a multi-module project. Modules that are ignored will make it harder for the IDE to find the root of that file. Hence, java file outside of source root
Another solution:
Preferences -> Build, Execution, Deployment -> Build Tools -> Maven -> Ignored Files
Now, uncheck the modules you do not want IntelliJ to ignore.
I'm having a similar issue for an Android project in Android Studio Chipmunk 2021.2.1 Patch 1. It looks like a known bug related to using manifest.srcFile
: https://issuetracker.google.com/issues/218370114?hl=ko
Apparently the options are switching to the canary channel or waiting for the fix to be released on the stable channel. Or getting rid of manifest.srcFile
in your build.gradle
.
Go to Intelij
File > Project Structure > Modules > Add
add module
In my case, I have ignored some projects and hence the pom.xml files also showed disabled. Hence I followed the below steps.
right-clicked those pom.xml files -> Maven -> Unignore Projects
I tried all of the above. Finally figured out this is because of an issue with incompatible Maven version. Fixing the settings in IntelliJ to refer to a lower version of Maven and then Add as Maven project helped.
I'm just gonna throw my solution to this problem in here, since none of the above worked:
If there are multiple pom files in your project, on the Maven sidebar to the right, click the plus ('+') button and navigate to the other pom file that does not have the Maven ('M') icon next to it in the project structure of your project (left sidebar).
Then click 'OK' - this then loads all the Maven dependencies from the unused pom file and, for me, everything was finally fixed!
Maven sidebar > plus icon (+) > direct to other pom file > 'ok'
I had to open the module I worked on to a new window to solve that.
Hate to add yet another method; but this one worked for me after trying and failing with the above methods. I had a multi-mode project. Unlinked all maven projects in Maven workspace and reloaded as maven project by clicking root poom.xml in project workspace. Not sure whether this will always work and for everyone.
I faced the same problem in one of the modules in my multi module maven
project. In my InteliJ
idea, I've installed Maven Helper
plugin before. I did right click on the module and within that contextual menu click Run Maven and then Reimport. After doing that, my issue resolved.
Just for anyone who has the minor mistake that I had:
My simple issue and fix was to cd into the exact file I cloned down. I accidentally shortcut opened the parent directory with idea . instead of the project I needed to work on.
I had to change the Maven path in IntelliJ. Preferences-> Build, Execution, Deployment-> Build Tools-> Maven.
Using the bundled Maven 3 path solved this and the Spring Boot application started up just fine.
Please do the below 2 steps:
Step-1: Right click on root pom.xml file Maven-> Generate Sources and update folders
Step-2: Right click on root project level pom.xml >> maven >> Reload project
For one project where build.gradle was configured for various custom build variants, I tried everything mentioned above but still it didn't work. Finally when I chose correct build variant from left panel of Android Studio, it just worked.
This is the solution that worked for me:
- Close the project in IntelliJ
- Delete the .idea folder in the project directory
- Reopen the project in IntelliJ
However there are many options already given, i tried 2-3 from above but it did not work as expected.Because, Intellij Idea keeps all workspace setting in .idea folder on root level of project and *.iml file under all sub-project to link the modules. To clean all the settings - either close IDEA or left idle for some time and from back using terminal executed below command - assume my root project is "ewfsa" -
cd ewfsa
rm -rf .idea
rm -rf **/*/*.iml
rm -f *.iml
and then select option "reload from disk" and if IDEA closed then open IDEA. every project reloaded and all missing setting restored.
My new experience with this problem from September 2023 - the issue was:
- java version path / changed java on system
I changed system Java from Java 17 to 1.8 and after that, I opened Inteliji and all subfolders could not be recognized as modules, and Java files were outside of the source root as a consequence.
Solution:
- set the system Java version (JDK) back to the previous set in problematic project (how to)
- reopen IntelliJ idea workspace with this project
© 2022 - 2024 — McMap. All rights reserved.