{"record":{"id":"f0344b52cc15125a","repo":"quarkusio/quarkus","slug":"no-propertiesrealmconfig-users-roles-settings-foun","errorCode":null,"errorMessage":"No PropertiesRealmConfig users/roles settings found. Configure the quarkus.security.file.%s properties","messagePattern":"No PropertiesRealmConfig users/roles settings found\\. Configure the quarkus\\.security\\.file\\.(.+?) properties","errorType":"validation","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/properties/runtime/ElytronPropertiesFileRecorder.java","lineNumber":96,"sourceCode":"                        users = p.toUri().toURL();\n                    } else {\n                        users = Thread.currentThread().getContextClassLoader().getResource(config.users());\n                    }\n                    log.debugf(\"users: %s\", users);\n                    log.debugf(\"Trying to loader roles: %s\", config.roles());\n                    URL roles;\n                    p = Paths.get(config.roles());\n                    if (Files.exists(p)) {\n                        roles = p.toUri().toURL();\n                    } else {\n                        roles = Thread.currentThread().getContextClassLoader().getResource(config.roles());\n                    }\n                    log.debugf(\"roles: %s\", roles);\n                    if (users == null && roles == null) {\n                        String msg = String.format(\n                                \"No PropertiesRealmConfig users/roles settings found. Configure the quarkus.security.file.%s properties\",\n                                PropertiesRealmConfig.help());\n                        throw new IllegalStateException(msg);\n                    }\n                    ClassPathUtils.consumeStream(users, usersStream -> {\n                        try {\n                            ClassPathUtils.consumeStream(roles, rolesStream -> {\n                                try {\n                                    propsRealm.load(usersStream, rolesStream);\n                                } catch (IOException e) {\n                                    throw new UncheckedIOException(e);\n                                }\n                            });\n                        } catch (IOException e) {\n                            throw new UncheckedIOException(e);\n                        }\n                    });\n                } catch (IOException e) {\n                    throw new UncheckedIOException(e);\n                }\n            }","sourceCodeStart":78,"sourceCodeEnd":114,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/elytron-security-properties-file/runtime/src/main/java/io/quarkus/elytron/security/properties/runtime/ElytronPropertiesFileRecorder.java#L78-L114","documentation":"The properties-file Elytron realm loads users and roles from property files. At startup, the recorder resolves the configured users/roles files; if neither is found (both null), there is nothing to load and it throws an IllegalStateException telling you to configure the properties realm file settings.","triggerScenarios":"quarkus.elytron.security.properties-file.users and .roles are both unset or point at non-existent/unresolvable classpath locations when the realm is initialized.","commonSituations":"Missing users.properties/roles.properties files in src/main/resources; wrong file paths; typos in the quarkus.elytron.security.properties-file.* keys; files excluded from the built artifact.","solutions":["Set quarkus.elytron.security.properties-file.users and .roles to valid classpath file locations","Add the users/roles .properties files under src/main/resources","Check for typos in config keys and that files are packaged (not filtered out) in the jar","If the properties realm is unused, remove the quarkus-elytron-security-properties-file dependency"],"exampleFix":"// before\n# no properties-file config\n// after\nquarkus.elytron.security.properties-file.users=users.properties\nquarkus.elytron.security.properties-file.roles=roles.properties","handlingStrategy":"validation","validationCode":"if (getClass().getResourceAsStream(\"/users.properties\") == null\n        && getClass().getResourceAsStream(\"/roles.properties\") == null) {\n    throw new IllegalStateException(\"users/roles properties files missing from classpath\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Add users.properties/roles.properties to src/main/resources","Verify files are packaged in the jar (mvn dependency/inspect the artifact)","Set quarkus.elytron.security.properties-file.users and .roles explicitly"],"tags":["configuration","security","properties-file","elytron"],"backgroundTag":"missing-required-config","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}