Master IntelliJ IDEA Project Structure: Essential Settings for Spring Boot Projects

This guide walks you through every configurable element of IntelliJ IDEA's Project Structure—Modules, SDKs, language level, compiler output, libraries, facets, and artifacts—so you can fine‑tune Spring Boot projects, avoid common pitfalls, and streamline multi‑module development.

Senior Brother's Insights
Senior Brother's Insights
Senior Brother's Insights
Master IntelliJ IDEA Project Structure: Essential Settings for Spring Boot Projects

Why Explore Project Structure?

When opening a group of Spring Boot projects in IntelliJ IDEA, the compiled output and log locations may differ from expectations. Investigating the Project Structure settings revealed many useful features worth sharing.

Opening Project Structure

There are two ways to open the configuration dialog:

Click the icon highlighted in the first screenshot.

Use the shortcut: Ctrl+Shift+Alt+S on Windows or Command+; on macOS.

If you cannot locate a setting, press Help and type “Project” to search; the results show the exact menu location.

Project Configuration Items

The first tab displayed is Project . Key fields (marked 1‑4 in the screenshot) are:

Project name : Keep it consistent with the project folder name and the name element in pom.xml to avoid multiple identifiers in the IDE.

Project SDK : Verify the SDK version matches the expected JDK; edit it via the Edit button, which jumps to Platform Settings → SDKs .

Project language level : Choose the Java language level (e.g., JDK 8) that applies to all modules.

Project compiler output : Define where IDEA stores compiled classes. For single‑module projects you can set a common output path; for multi‑module projects beware that a shared output directory may cause logs to be written to an unexpected location.

Modules Configuration

Modules let you configure each sub‑project independently (name, directory, output path, dependencies, etc.). The screenshot highlights four items:

Add/Remove modules via the plus/minus icons.

Module name : Align with the project name for consistency.

JDK version : Set per‑module, similar to the Project SDK.

Directory structure : Define source folders ( Sources), test sources ( Test), resources, test resources, and excluded folders (e.g., target).

Use the right‑click context menu on a top‑level folder to create new folders and assign their type (e.g., add a Test Resources folder if missing).

Paths and Dependencies

Paths let you specify compile output locations. Typical defaults work fine:

Inherit project compile output path : Uses the path set in the Project tab.

Use module compile output path : Allows a separate output directory per module.

Output path and Test output path define where class files and test class files are written.

Dependencies manage JAR libraries. You can add JARs, set their scope, and also configure a JDK for the module.

Libraries

The Libraries tab lets you define global or module‑specific libraries, create new library entries, categorize them, or delete them.

Facets

Facets describe module characteristics such as Web, Spring, or Hibernate. For a Spring Boot project, the facet view shows configuration files, the main class, MVC settings, etc.

Artifacts

Artifacts define how a module is packaged (e.g., war exploded, war, jar). For Spring Boot, war exploded is useful during development because it deploys unarchived files directly to the container, enabling hot deployment.

Other Settings

Additional tabs include:

SDKs : Global SDK management (add/remove JDK versions).

Global libraries : Common libraries shared across projects.

Problems : Shows project issues and quick‑fix suggestions.

Conclusion

By investigating a real‑world issue with Spring Boot projects, we compiled a comprehensive guide to IntelliJ IDEA's Project Structure. Mastering these settings helps avoid configuration mismatches and streamlines multi‑module development.

SDKSpring BootIntelliJ IDEAlibrariesModulesArtifactsFacets
Senior Brother's Insights
Written by

Senior Brother's Insights

A public account focused on workplace, career growth, team management, and self-improvement. The author is the writer of books including 'SpringBoot Technology Insider' and 'Drools 8 Rule Engine: Core Technology and Practice'.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.