quarkusio/quarkus · error · IllegalArgumentException
Unknown JAR package type '${value}'
Error message
Unknown JAR package type '${value}' What it means
PackageConfig.JarType.fromString throws this IllegalArgumentException when a string does not correspond to any registered JAR package type. It converts configuration values (e.g. quarkus.package.jar.type) into the JarType enum-like constant, rejecting unknown names.
Source
Thrown at core/deployment/src/main/java/io/quarkus/deployment/pkg/PackageConfig.java:422
/**
* {@return the name of this output type}
*/
@Override
public String toString() {
return names.get(0);
}
/**
* {@return the <code>JarType</code> for the given string}
*
* @param value the string to look up
* @throws IllegalArgumentException if the string does not correspond to a valid JAR type
*/
public static JarType fromString(String value) {
JarType jarOutputType = byName.get(value);
if (jarOutputType == null) {
throw new IllegalArgumentException("Unknown JAR package type '" + value + "'");
}
return jarOutputType;
}
}
}
/**
* Configuration for the decompiler.
*/
@ConfigGroup
interface DecompilerConfig {
/**
* Enable decompilation of generated and transformed bytecode into a filesystem.
*/
@WithDefault("false")
boolean enabled();
/**View on GitHub (pinned to e1c734241f)
Solutions
- Set quarkus.package.jar.type to a valid value such as fast-jar, legacy-jar, or uber-jar — matching the exact spelling for your Quarkus version.
- Check the PackageConfig.JarType class in your Quarkus version for the accepted names.
- Fix any typos, casing, or trailing whitespace in the configured value.
Example fix
// before (application.properties) quarkus.package.jar.type=uberjar // after quarkus.package.jar.type=uber-jar
Defensive patterns
Strategy: validation
Validate before calling
Set<String> valid = Set.of("fast-jar", "legacy-jar", "uber-jar", "mutable-jar");
String type = System.getProperty("quarkus.package.jar.type", "fast-jar");
if (!valid.contains(type)) throw new IllegalArgumentException("Unknown jar type: " + type); Try / catch
try {
JarType t = JarType.fromString(value);
} catch (IllegalArgumentException e) {
LOG.errorf("quarkus.package.jar.type='%s' is invalid; use one of: fast-jar, legacy-jar, uber-jar", value);
} Prevention
- Copy accepted values from the PackageConfig.JarType class of your exact Quarkus version.
- Trim whitespace from configured values.
- Check release notes when upgrading Quarkus for renamed packaging options.
When it happens
Trigger: Setting quarkus.package.jar.type (or programmatically calling JarType.fromString) with a misspelled or unsupported value such as 'fast-jar ' (trailing space), 'uberjar', 'legacy-jar' in a Quarkus version where that name changed, or arbitrary invalid text.
Common situations: Typo in application.properties; following an older tutorial whose jar type names no longer exist; copying config from a project using a different Quarkus version; case mismatch in the type name.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- Parameter type should be provided.
- Failed to load application configuration
- Failed to initialize application configuration
- Unrecognized option for quarkus.bootstrap.misaligned-platfor
- Name cannot start with '/':${name}
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/9beb8650e9dc1efb.
Report an issue: GitHub.