JetBrains/intellij-community · error · ExecutionException

build.process.ecj.path.does.not.exist

build.process.ecj.path.does.not.exist

Error message

Path to eclipse ecj compiler does not exist: {0}

What it means

Error "Path to eclipse ecj compiler does not exist: {0}" thrown in JetBrains/intellij-community.

Source

Thrown at java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java:1747

    var launcherCp = new ArrayList<String>();
    launcherCp.add(ClasspathBootstrap.getResourcePath(launcherClass));
    launcherCp.addAll(BuildProcessClasspathManager.getLauncherClasspath(project));
    if (compilerPath != null) {   // can be null (in the case of JDK 9+)
      launcherCp.add(compilerPath);
    }

    var includeBundledEcj = shouldIncludeEclipseCompiler(projectConfig);
    var customEcjPath = (Path)null;
    if (includeBundledEcj) {
      var path = EclipseCompilerConfiguration.getOptions(project, EclipseCompilerConfiguration.class).ECJ_TOOL_PATH;
      if (path != null && !path.isBlank()) {
        customEcjPath = Path.of(path);
        if (Files.exists(customEcjPath)) {
          includeBundledEcj = false;
        }
        else {
          throw new ExecutionException(JavaCompilerBundle.message("build.process.ecj.path.does.not.exist", customEcjPath.toAbsolutePath()));
        }
      }
    }

    ClasspathBootstrap.appendJavaCompilerClasspath(launcherCp, includeBundledEcj);
    if (customEcjPath != null) {
      launcherCp.add(customEcjPath.toAbsolutePath().toString());
    }

    cmdLine.addParameter("-classpath");
    cmdLine.addClasspathParameter(launcherCp, List.of());

    cmdLine.addParameter(launcherClass.getName());

    var cp = myClasspathManager.getBuildProcessClasspath(project);
    if (profileWithYourKit) {
      var yjpControllerFileName = "yjp-controller-api-redist.jar";
      var yjpControllerPath = Path.of(cmdLine.getWorkingDirectory(), yjpControllerFileName);

View on GitHub (pinned to be881553f2)

Solutions

  1. Update the path to the Eclipse compiler (ecj) in Settings | Build, Execution, Deployment | Compiler | Java Compiler so it points to an existing ecj jar.
  2. Switch back to Javac if you do not need the Eclipse compiler.

Example fix

Settings | Compiler | Java Compiler -> Use compiler: Eclipse, and set the ecj jar path to a valid location such as C:/libs/ecj-4.30.jar.

When it happens

Trigger: The project is configured to compile with the Eclipse compiler but the configured ecj jar path does not exist.

Common situations: The ecj jar was moved or deleted after being configured, or the setting was imported from another machine.


AI-assisted analysis of JetBrains/intellij-community@be881553f2 (2026-08-14). Data as JSON: /api/errors/fa9e07d17207ed7e. Report an issue: GitHub.