stanfordnlp/CoreNLP · error · RuntimeException
'model' parameter must be specified
Error message
'model' parameter must be specified
What it means
A required-configuration error in TaggerConfig.setProperties: after resolving the mode (train/test/tag/dump), no 'model' path was provided in the properties, yet every mode needs the model file location to load or save the tagger.
Solutions
- Pass -model <path> pointing to a trained tagger
- For dump mode pass -dump <path> (it maps to model)
- Supply trainFile instead if you meant to train
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/edu/stanford/nlp/tagger/maxent/TaggerConfig.java:201 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of stanfordnlp/CoreNLP@1b7edd19c4 (2026-09-10).
Data as JSON: /api/errors/e6d8cfa15c96919d.
Report an issue: GitHub.
Appendix: source
Thrown at src/edu/stanford/nlp/tagger/maxent/TaggerConfig.java:201
this.setProperty("file", props.getProperty("testFile", "").trim());
} else if (props.containsKey("textFile")) {
//Tagging mode
this.setProperty("mode", Mode.TAG.toString());
this.setProperty("file", props.getProperty("textFile", "").trim());
} else if (props.containsKey("dump")) {
this.setProperty("mode", Mode.DUMP.toString());
// this.setProperty("file", props.getProperty("dump").trim());
props.setProperty("model", props.getProperty("dump").trim());
} else {
this.setProperty("mode", Mode.TAG.toString());
this.setProperty("file", "stdin");
}
//for any mode other than train, we load a classifier, which means we load a config - model always needs to be specified
//on command line/in props file
//Get the path to the model (or the path where you'd like to save the model); this is necessary for training, testing, and tagging
this.setProperty("model", props.getProperty("model", this.getProperty("model", "")).trim());
if ( ! (this.getMode() == Mode.DUMP) && this.getProperty("model").isEmpty()) {
throw new RuntimeException("'model' parameter must be specified");
}
this.setProperty("search", props.getProperty("search", this.getProperty("search")).trim().toLowerCase());
String srch = this.getProperty("search");
if ( ! (srch.equals("cg") || srch.equals("iis") || srch.equals("owlqn") || srch.equals("qn") || srch.equals("owlqn2"))) {
throw new RuntimeException("'search' must be one of 'iis', 'cg', 'qn' or 'owlqn' or 'owlqn2': " + srch);
}
this.setProperty("sigmaSquared", props.getProperty("sigmaSquared", this.getProperty("sigmaSquared")));
this.setProperty(TAG_SEPARATOR_PROPERTY, props.getProperty(TAG_SEPARATOR_PROPERTY, this.getProperty(TAG_SEPARATOR_PROPERTY)));
this.setProperty("iterations", props.getProperty("iterations", this.getProperty("iterations")));
this.setProperty("rareWordThresh", props.getProperty("rareWordThresh", this.getProperty("rareWordThresh")));
this.setProperty("minFeatureThresh", props.getProperty("minFeatureThresh", this.getProperty("minFeatureThresh")));
this.setProperty("curWordMinFeatureThresh", props.getProperty("curWordMinFeatureThresh", this.getProperty("curWordMinFeatureThresh")));
this.setProperty("rareWordMinFeatureThresh", props.getProperty("rareWordMinFeatureThresh", this.getProperty("rareWordMinFeatureThresh")));
this.setProperty("veryCommonWordThresh", props.getProperty("veryCommonWordThresh", this.getProperty("veryCommonWordThresh")));View on GitHub (pinned to 1b7edd19c4)