Springfield police said his appearance caused a “panic” in the store, but no shots were fired and no one was injured.
An off-duty fireman held the man at gunpoint until police arrived.
Lieutenant Mike Lucas told the Springfield News that the man had more than 100 rounds of ammunition.
“All we know is the fact that he walked in here heavily armed with body armor on, in military fatigues and caused a great amount of panic inside the store,” Lucas said. “So he certainly had the capability, the potential to harm people.”
The incident comes just days after two U.S. mass shootings — one at a Walmart in El Paso, Texas that left 22 people dead and another shooting in Dayton, Ohio that killed nine.