stanfordnlp/CoreNLP · error · RuntimeException
ERROR: failed to find Properties in the given arguments!
Error message
ERROR: failed to find Properties in the given arguments!
What it means
RuntimeException from MachineReading.makeMachineReading when the command-line arguments do not contain a usable Properties specification (the args must define the pipeline properties, typically via -props or key=value pairs); without them the machine-reading system cannot be configured.
Solutions
- Pass a -props file with the MachineReading configuration
- Or supply key=value arguments recognized by StringUtils.argsToProperties
- Check that argument parsing did not consume the properties flag
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/edu/stanford/nlp/ie/machinereading/MachineReading.java:214 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/8aae6a963036f7f8.
Report an issue: GitHub.
Appendix: source
Thrown at src/edu/stanford/nlp/ie/machinereading/MachineReading.java:214
mr.relationExtractor.setLoggerLevel(level);
if (mr.eventExtractor != null)
mr.eventExtractor.setLoggerLevel(level);
return mr;
}
public static MachineReading makeMachineReading(String [] args) throws IOException {
// install global parameters
MachineReading mr = new MachineReading(args);
//TODO:
ArgumentParser.fillOptions(MachineReadingProperties.class, args);
//Arguments.parse(args, mr);
log.info("PERCENTAGE OF TRAIN: " + MachineReadingProperties.percentageOfTrain);
// convert args to properties
Properties props = StringUtils.argsToProperties(args);
if (props == null) {
throw new RuntimeException("ERROR: failed to find Properties in the given arguments!");
}
String logLevel = props.getProperty("logLevel", "INFO");
setLoggerLevel(Level.parse(logLevel.toUpperCase()));
// install reader specific parameters
GenericDataSetReader reader = mr.makeReader(props);
GenericDataSetReader auxReader = mr.makeAuxReader();
Level readerLogLevel = Level.parse(MachineReadingProperties.readerLogLevel.toUpperCase());
reader.setLoggerLevel(readerLogLevel);
if (auxReader != null) {
auxReader.setLoggerLevel(readerLogLevel);
}
log.info("The reader log level is set to " + readerLogLevel);
//Execution.fillOptions(GenericDataSetReaderProps.class, args);
//Arguments.parse(args, reader);
// create the pre-processing pipelineView on GitHub (pinned to 1b7edd19c4)