Build menu
The Build menu works with every supported build system. OpenIDEA picks the build system of the project, or of the module that holds the current file.
What each action runs:
Maven and Gradle use the wrapper or installation configured in Settings (see below). A TypeScript project without a
tsconfig.json but with a build script runs that script.
Output streams into the Build tool window (bottom). Compiler errors and warnings are grouped by file, appear in the Problems view and are underlined in the editor. Stop Build cancels a running build.
Maven
When the project has apom.xml, a Maven tool window appears on the right. On first open, OpenIDEA imports the project with Maven in the background (effective POMs and dependency trees).
The tree shows Profiles, then each project with Lifecycle, Plugins (expand to see goals), Dependencies, Run Configurations and its modules. Double-click a goal to run it, or select several and run them together. Right-click a goal for Run ’…’, Debug ’…’ and Create Run Configuration…. Running a goal from the tree creates a temporary run configuration.
Toolbar:
- Reload All Maven Projects re-reads the POMs and dependency trees.
- Add Maven Projects adds a
pom.xmlthe import did not find. Right-click a project to unlink it. - Run Maven Build runs the selected goal.
- Execute Maven Goal… opens a prompt with goal completion (
Tabto complete,Enterto run). It also lists recent commands. - Toggle Offline Mode (
-o) and Toggle ‘Skip Tests’ Mode (-DskipTests) apply to every Maven run. - Analyze Dependencies… opens the Dependency Analyzer.
- Maven Settings… opens Settings › Build, Execution, Deployment › Maven.
Reloading after changes
When you edit a POM in the editor, the tool window shows Build files changed since the last reload with a Load Maven Changes button. When build files change outside the editor (agit pull, another tool), the Maven project reloads on its own.
Editor support in pom.xml
⌘-click / Ctrl-click (or Navigate › Declaration or Usages, ⌘B / Ctrl+B) on a ${property} opens the property that defines it, in this POM or a parent POM. On a dependency or plugin without a version, it opens the <dependencyManagement> or <pluginManagement> entry that supplies it.
Maven settings
Settings › Build, Execution, Deployment › Maven:Gradle
When the project has Gradle build files, a Gradle tool window appears on the right. On first open, OpenIDEA reads the task list with Gradle in the background. The tree shows the root project with its Tasks (grouped), Run Configurations and subprojects. Double-click a task to run it. The toolbar has Reload All Gradle Projects, Link Gradle Projects (add a build the project did not find), Run Gradle Task, Execute Gradle Task…, Toggle Offline Mode (--offline) and Analyze Dependencies….
When a build script changes, the tool window shows Build files changed since the last reload with a Load Gradle Changes button.
In build scripts, Navigate › Declaration or Usages on a version catalog alias (libs.spring.boot.starter) opens its entry in gradle/libs.versions.toml, and hover shows the declaration. In the catalog, version.ref and bundle members link to their entries.
Gradle settings
Settings › Build, Execution, Deployment › Gradle:Dependency Analyzer
Analyze Dependencies… (Maven or Gradle tool window, or the context menu of apom.xml / build script) opens the Dependency Analyzer in an editor tab. It shows:
- a Maven module’s dependency tree (read with
dependency:tree -Dverbose, so omitted duplicates are listed too), or a Gradle project’s resolved dependencies per configuration; - version conflicts (Show conflicts only), as a tree or a list;
- every path that brings a library in, with Jump to Source to the declaration.
<exclusion> to the POM and reloads.
.NET
The .NET tool window (right side; open it with .NET Workspace in Find Action) lists the solution’s projects. Select a project to see its target frameworks, project references, NuGet packages and tests:- search NuGet, install, update and remove packages;
- Discover .NET Tests and Run all tests / Run test;
- Install TRX reporting adds the reporting extension that Microsoft.Testing.Platform projects need to show results in the test tree.
CMake
Settings › Build, Execution, Deployment › CMake holds CMake profiles: build type, generator, CMake arguments, build directory, build arguments and environment variables. Build Project uses the first profile. Without a profile it uses the first directory that already has aCMakeCache.txt, else build. CMake targets show up as run configurations.
Cargo, Go, npm and others
These build systems have no tool window of their own:- Cargo: run configurations for each binary,
cargo testandcargo build, plus the Build menu. InCargo.toml, version completion lists published crate versions, and the Newer dependency version available inspection offers a quick fix to update a requirement. - Go: run and test configurations per module (
go.workworkspaces included) and the Build menu. Ingo.mod, version completion lists module versions. - npm, pnpm, yarn, bun, Deno: one run configuration per
package.jsonscript or Deno task, and ▶ icons on thescriptsentries inpackage.json. The package manager follows the lock file. - Make and just: one run configuration per target or recipe.
- Composer: when
vendor/is missing or out of date withcomposer.lock, a banner offers to runcomposer install.
node_modules packages, Maven and Gradle jars, the JDK, the Python interpreter’s libraries) appear under External Libraries in the Project view and open read-only.