{"record":{"id":"321f4717931b0cb7","repo":"apache/maven","slug":"unknown-variable-name","errorCode":null,"errorMessage":"Unknown variable: ${name}","messagePattern":"Unknown variable: (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java","lineNumber":365,"sourceCode":"    private Object parseVariableOrUnknownFunction() {\n        current--; // Move back to the token we couldn't parse as a number\n        String name = tokens.get(current);\n        current++;\n\n        // Check if it's followed by an opening parenthesis, indicating a function call\n        if (current < tokens.size() && tokens.get(current).equals(\"(\")) {\n            // It's a function call, parse it as such\n            List<Object> args = parseArgumentList();\n            if (functions.containsKey(name)) {\n                return functions.get(name).apply(args);\n            } else {\n                throw new RuntimeException(\"Unknown function: \" + name);\n            }\n        } else {\n            // It's a variable\n            // Here you might want to handle variables differently\n            // For now, we'll throw an exception\n            throw new RuntimeException(\"Unknown variable: \" + name);\n        }\n    }\n\n    /**\n     * Parses a list of arguments for a function call.\n     *\n     * @return a list of parsed arguments\n     * @throws RuntimeException if there's a mismatch in parentheses\n     */\n    private List<Object> parseArgumentList() {\n        List<Object> args = new ArrayList<>();\n        current++; // Skip the opening parenthesis\n        while (current < tokens.size() && !tokens.get(current).equals(\")\")) {\n            args.add(parseLogicalOr());\n            if (current < tokens.size() && tokens.get(current).equals(\",\")) {\n                current++;\n            }\n        }","sourceCodeStart":347,"sourceCodeEnd":383,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java#L347-L383","documentation":"Error \"Unknown variable: ${name}\" thrown in apache/maven.","triggerScenarios":"Thrown at impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java:365 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e4093d4e120eac99d6bdce5ba67cace2f3085c97","analyzedAt":"2026-08-21T22:58:24.034Z","schemaVersion":2},"datasetVersion":"2026-08-22T04:17:13.399Z"}