Explain Codes LogoExplain Codes Logo

Maven package works but IntelliJ's build fails

java
maven
intellij
configuration
Nikita BarsukovbyNikita Barsukov·Dec 29, 2024
TLDR

If you meet an unexpected IntelliJ build failure while Maven pulls the build off without any problems, perform a Maven sync: Right-click project -> Maven -> Reload project. Ensure the IntelliJ JDK settings coincide with the Maven's:

<properties> <maven.compiler.source>/*# Insert your Java version here #*/</maven.compiler.source> <maven.compiler.target>/*# Java, please don't change on me! #*/</maven.compiler.target> </properties>

Replace /*# Insert your Java version here #*/ and /*# Java, please don't change on me! #*/ with the specified Java version of your project. If you still experience issues, try Invalidating IntelliJ caches: File -> Invalidate Caches / Restart.

Resolve IntelliJ and Maven discrepancies

When IntelliJ goes out of sync with Maven, it's often down to configuration inconsistencies. Here's a breakdown of key measures to align them:

Synchronize IntelliJ with Maven

Regenerate IntelliJ IDEA project files to bring your IntelliJ in line with the Maven configuration by running:

mvn idea:idea

This brings your .iml files back in sync with the pom.xml.

Update your dependencies

Re-import the Maven project to refresh your dependencies and align the build path:

IntelliJ IDEA -> Maven Projects -> Refresh

This should settle any discrepancies in classpath and dependency resolution.

Verify Maven cache and local dependencies

Make sure Maven retrieves local dependencies by running:

mvn clean install

on the module that contains the required JAR.

Confirm JDK compatibility

Check that IntelliJ IDEA uses the System JDK, this can bypass JDK-related issues:

IntelliJ IDEA settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing -> JDK for importer

Make sure IDEA_JDK environment variable is correctly set if needed.

Align system-level configurations

Ensuring system configurations align with IntelliJ IDEA can prevent environment-related issues.

Keep snapshots updated

Enable automatic loading of snapshot versions within IntelliJ IDEA's Maven settings to keep everything up to date.

Additional debugging approaches

IntelliJ IDEA might still resist the mood to build, in spite of all your efforts. In these challenging scenarios:

Clear any cache corruption

Invalidate caches to solve 'symbol not found' errors:

File -> Invalidate Caches / Restart

Address .iml file issues

If discrepancies persist, delete .iml files and re-import your Maven project. This steers IntelliJ to generate configurations anew.

Review the build configuration

Take a closer look at your pom.xml file for any incorrect references to local JARs. Make sure the file paths and versions match the ones defined in the Maven repository.

Review logs

Investigate IntelliJ's own idea.log for hidden exceptions, such as SSL errors when fetching dependencies from custom repositories, like corporate Nexus servers.

Broadening the scope of fixes

Have a look at plugin management

Plugins introduce additional aspects of a build. Make sure you configured all plugins correctly and that definitions are consistent across Maven and IntelliJ IDEA. Understanding plugin goals and configurations can help avoid unexpected behaviors.

Tap into the community

If nothing works, try reaching out to the IntelliJ IDEA community through various forums and issues trackers. Detailed descriptions of your setup and the issues can help community members provide efficient solutions.

Get the environment right

A peaceful coexistence of all parts of your development environment is key to successful builds. Make sure elements like environment variables (PATH, JAVA_HOME, etc.) and system settings align with IntelliJ IDEA.