languagetool-org/languagetool · error · IllegalConfigurationException
Parameter --config must be set and point to a property file
Error message
Parameter --config must be set and point to a property file
What it means
HTTPSServerConfig's command-line parser requires a --config argument pointing to a properties file; if it is absent, it throws IllegalConfigurationException('Parameter --config must be set and point to a property file'). The HTTPS server cannot start without its keystore configuration.
Source
Thrown at languagetool-server/src/main/java/org/languagetool/server/HTTPSServerConfig.java:83
this.keystore = keystore;
this.keyStorePassword = keyStorePassword;
this.requestLimit = requestLimit;
this.requestLimitPeriodInSeconds = requestLimitPeriodInSeconds;
}
/**
* Parse command line options and load settings from property file.
*/
HTTPSServerConfig(String[] args) {
super(args);
File config = null;
for (int i = 0; i < args.length; i++) {
if ("--config".equals(args[i])) {
config = new File(args[++i]);
}
}
if (config == null) {
throw new IllegalConfigurationException("Parameter --config must be set and point to a property file");
}
try {
Properties props = new Properties();
try (FileInputStream fis = new FileInputStream(config)) {
props.load(fis);
keystore = new File(getProperty(props, "keystore", config));
keyStorePassword = getProperty(props, "password", config);
}
} catch (IOException e) {
throw new RuntimeException("Could not load properties from '" + config + "'", e);
}
}
File getKeystore() {
return keystore;
}
String getKeyStorePassword() {View on GitHub (pinned to 2e990059ce)
Solutions
- Add --config /path/to/server.properties to the launch command.
- Correct the flag spelling and ensure a path value follows --config.
- Create a properties file containing at least 'keystore' and 'password' entries.
- See https://dev.languagetool.org/http-server for the expected properties format.
Example fix
// before java -cp languagetool-server.jar org.languagetool.server.HTTPSServer // after java -cp languagetool-server.jar org.languagetool.server.HTTPSServer --config server.properties
Defensive patterns
Strategy: validation
Validate before calling
// before launching
if (args == null || !Arrays.asList(args).contains("--config")) {
throw new IllegalArgumentException("--config <server.properties> is required");
} Try / catch
try {
HTTPSServer.main(args);
} catch (IllegalConfigurationException e) {
System.err.println(e.getMessage());
System.err.println("Usage: HTTPSServer --config server.properties");
System.exit(1);
} Prevention
- Wrap the launch command in a script that injects --config
- Validate CLI arguments in entrypoint scripts/systemd units
- Never copy the plain HTTP server command line for the HTTPS server
When it happens
Trigger: Launching HTTPSServer main without --config, or with a misspelled flag.
Common situations: Startup script omits the flag; flag typo (--conf/--configs); copying the plain HTTP server's command line, which has different requirements; systemd/docker CMD missing the argument.
Understand the failure class
Background: "--flag is required" and "must specify" CLI errors: how missing-required-flag validation works and how to fix it — this error's family across 20 libraries.
Related errors
- Missing argument for '--logIpMatchingPattern' (e.g. any rand
- Missing argument to <option> command line option.
- No rules are active. Please make sure your rule ids (<option
- You have to set the source language (as mother tongue) in bi
- Invalid port configuration found. The value for '--port' nee
AI-assisted analysis of languagetool-org/languagetool@2e990059ce (2026-09-06).
Data as JSON: /api/errors/460b709af119911d.
Report an issue: GitHub.