{"record":{"id":"fa035c7e46197571","repo":"JetBrains/intellij-community","slug":"error-jdk-not-specified","errorCode":"error.jdk.not.specified","errorMessage":"JDK is not specified","messagePattern":"JDK is not specified","errorType":"exception","errorClass":"ExecutionException","httpStatus":null,"severity":"error","filePath":"java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java","lineNumber":171,"sourceCode":"        boolean isIdeaBuild = ContainerUtil.exists(pathsList.getPathList(), p -> p.contains(\"intellij.java.rt\"));\n        if (isIdeaBuild) {\n          // When building IDEA itself, idea_rt.jar should not be taken from sources,\n          // as IDEA expects to use the matching idea_rt.jar from the installation dir.\n          String path = JavaSdkUtil.getIdeaRtJarPath();\n          pathsList.addFirst(path);\n          LOG.debug(\"Running IDEA from release IDE, add rt.jar: \" + path);\n        }\n        else {\n          JavaSdkUtil.addRtJar(pathsList);\n          LOG.debug(\"Running from release IDE, add rt.jar\");\n        }\n      }\n    }\n  }\n\n  private static void checkTargetJPDAInstalled(@NotNull JavaParameters parameters) throws ExecutionException {\n    if (parameters.getJdk() == null) {\n      throw new ExecutionException(JavaDebuggerBundle.message(\"error.jdk.not.specified\"));\n    }\n  }\n}\n","sourceCodeStart":153,"sourceCodeEnd":175,"githubUrl":"https://github.com/JetBrains/intellij-community/blob/be881553f2a76ac8b4ea53950d93f0de78295c19/java/debugger/impl/src/com/intellij/debugger/impl/RemoteConnectionBuilder.java#L153-L175","documentation":"Thrown by RemoteConnectionBuilder.checkTargetJPDAInstalled when building the launch parameters for remote debugging and parameters.getJdk() returns null. Building the JPDA attach setup needs a JDK (to resolve tools/foundation classes and the runtime environment), so a run configuration without an SDK is rejected before launch.","triggerScenarios":"Starting a remote debug session whose run configuration (or project) has no JDK set: JavaParameters.getJdk() == null at checkTargetJPDAInstalled, throwing ExecutionException(error.jdk.not.specified).","commonSituations":"Project SDK was removed or invalidated after an IDE/JDK update; run configuration has SDK field set to '#Use project SDK' while the project SDK is <No SDK>; CI machine missing the configured JDK path.","solutions":["Set a valid Project SDK (File > Project Structure > Project > SDK)","Open the run configuration and explicitly select a JDK in its 'Use JDK' / JRE field","Re-add the deleted JDK in IDE SDK table (Project Structure > SDKs) and re-select it"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (parameters.getJdk() == null) {\n  throw new ExecutionException(\"JDK is not specified\"); // or pre-check in UI and block Apply\n}","typeGuard":null,"tryCatchPattern":"try {\n  checkTargetJPDAInstalled(parameters);\n} catch (ExecutionException e) {\n  // prompt user to select Project/Run-configuration SDK and abort launch\n}","preventionTips":["Set a valid Project SDK before creating remote debug configurations","Pin an explicit JDK in each remote configuration instead of '#Use project SDK' where possible","Re-validate SDKs after JDK updates or machine migration"],"tags":["debugger","remote-debug","configuration","jdk"],"backgroundTag":null,"analyzedSha":"be881553f2a76ac8b4ea53950d93f0de78295c19","analyzedAt":"2026-08-14T14:13:06.425Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}