'Java project folder structure in IntelliJ IDEA

What is an acceptable folder structure for Java projects in IntelliJ IDEA?

Multiple sources (like this) suggest the following structure:

.
│ .idea    
└── src
    ├── main
    │   ├── java   
    │   │   └── com.simpleproject
    │   │       └── SimpleClass.java
    │   └── resources
    └── test
        ├── java
        │   └── com.simpleproject
        │       └── SimpleClassTest.java
        └── resources

I know this has worked before, but right now it is complaining java.lang.SecurityException: Prohibited package name: java

Apparently, java is not allowed as a package name. I don't understand why it's sometimes acceptable and sometimes not acceptable. Can someone provide a complete example of an acceptable project folder structure in a Java project in IntelliJ IDEA?



Solution 1:[1]

That is the basic folder structure of a maven project. IntelliJ usually recognizes this and sets up sensical defaults for you.

If it didn't (or if it did but you modified them afterwards), you need to set up your java folder as the sources folder (i.e. the folder that contains the source code).

For this, you need to:

  1. Go to your project structure settings: File > Project Structure
  2. Select your project in the middle panel
  3. Select the 'sources' tab in the right panel
    • Note from a comment (thanks @Line): In IntelliJ 2018.3.5, you "select 'modules' tab in left panel".
  4. Navigate to the src/main/java folder and select it
  5. Mark it as Sources

Repeat for test folder (mark as 'Tests'), resources (mark as 'Resources'), test-resources (mark as 'Test Resources'), etc.

Solution 2:[2]

Your configuration in the IntelliJ's File > Project Structure page will be overridden by the project's pom.xml after every clean install. To prevent this, you need to configure the source directory in pom.xml as below:

<sourceDirectory>src/main/java</sourceDirectory>

Solution 3:[3]

In Project Structure Settings,select Modules -> choose any of the mark as to set the folder type to be of specific type. Then do mvn clean and mvn compile

enter image description here

enter image description here

Solution 4:[4]

Simply close intellij and delete any existing .IML file from the project root will do it

Solution 5:[5]

Am using Mac OSx, In my case the IntelliJ did not created the src/main/java directories for me and i tried to create those directories but i cannot see create directory under right click menu of the project.

Hence i created those directories manually via terminal / finder. Then i went to File -> Project Structure and marked src/main/java as sources

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Umut Uzun
Solution 3 Arpan Saini
Solution 4 Nipuna Don Pranciscu
Solution 5 sujithramanathan