quarkusio/quarkus · error · ConfigurationException

Unable to find file referenced in '" + RedisConfig.getProper

Error message

Unable to find file referenced in '" + RedisConfig.getPropertyName(name, "redis-load-script") + "=" + String.join(", ", clientConfig.loadScript().get()) + "'. Remove property or add file to your path.

What it means

After attempting to resolve the redis-load-script path in the application archive, the processor throws a ConfigurationException if the property was explicitly set (i.e. is not the built-in default) but the file does not exist in the archive or resolves to a directory. The extension refuses to build because preloading data would silently do nothing.

Source

Thrown at extensions/redis-client/deployment/src/main/java/io/quarkus/redis/deployment/client/RedisClientProcessor.java:275

        List<String> paths = new ArrayList<>();
        for (String importFile : importFiles) {
            Path loadScriptPath;
            try {
                loadScriptPath = applicationArchivesBuildItem.getRootArchive().getChildPath(importFile);
            } catch (RuntimeException e) {
                throw new ConfigurationException(
                        "Unable to interpret path referenced in '"
                                + RedisConfig.getPropertyName(name, "redis-load-script") + "="
                                + String.join(",", importFiles)
                                + "': " + e.getMessage());
            }

            if (loadScriptPath != null && !Files.isDirectory(loadScriptPath)) {
                // enlist resource if present
                nativeImageResources.produce(new NativeImageResourceBuildItem(importFile));
            } else if (clientConfig != null && clientConfig.loadScript().isPresent()) {
                //raise exception if explicit file is not present (i.e. not the default)
                throw new ConfigurationException(
                        "Unable to find file referenced in '"
                                + RedisConfig.getPropertyName(name, "redis-load-script") + "="
                                + String.join(", ", clientConfig.loadScript().get())
                                + "'. Remove property or add file to your path.");
            }
            // in dev mode we want to make sure that we watch for changes to file even if it doesn't currently exist
            // as a user could still add it after performing the initial configuration
            hotDeploymentWatchedFiles.produce(new HotDeploymentWatchedFileBuildItem(importFile));

            if (loadScriptPath != null) {
                paths.add(importFile);
            }
        }

        if (!paths.isEmpty()) {
            if (clientConfig != null) {
                recorder.preload(name, paths, clientConfig.flushBeforeLoad(), clientConfig.loadOnlyIfEmpty());
            } else {

View on GitHub (pinned to e1c734241f)

Solutions

  1. Add the script file to src/main/resources at exactly the configured path (e.g. redis/load.script)
  2. Correct the property value to match the actual packaged file path, checking case sensitivity
  3. Remove the redis-load-script property if you don't actually need data preloading
  4. Check Maven resource filtering/excludes and ensure the file lands in target/classes

Example fix

// before
quarkus.redis.default.redis-load-script=redis/Load.Script
// after  (file is src/main/resources/redis/load.script)
quarkus.redis.default.redis-load-script=redis/load.script
Defensive patterns

Strategy: validation

Validate before calling

String prop = "redis/load.script";
if (getClass().getClassLoader().getResource(prop) == null)
    throw new IllegalStateException("redis-load-script resource missing from archive: " + prop);

Prevention

When it happens

Trigger: quarkus.redis.<name>.redis-load-script is set to a value that is not present under src/main/resources (or the packaged archive), or points at a directory instead of a file.

Common situations: Typo in the resource path; file present locally but excluded from the jar; file committed only in another module's resources; renaming/moving resources after upgrading; case-sensitive filesystems in CI where the filename's case differs.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/88ab7880caccdd66. Report an issue: GitHub.