Authorities said the situation was "contained" as deputies and federal agents converged on the crime scene.
St. Mary's County Sheriff spokeswoman Cpl. Julie Yingling said three people hurt, including the shooter. She didn't know the extent of their injuries, but said all three were taken to hospitals and none were killed.
The Baltimore Sun reported that a student said the shooting happened around 8 a.m. Terrence Rhames, 18, told the Sun that he heard a gunshot and saw a girl fall as he ran for an exit. "I just thank god I'm safe," Rhames said. "I just want to know who did it and who got injured."
The St. Mary's County Public Schools said the situation was "contained" after the shooting at Great Mills High School, which has about 1,600 students and is near the Patuxent River Naval Air Station, about 65 miles (104 kilometers) southeast of Washington.
Agents with the FBI and the Bureau of Alcohol, Tobacco, Firearms and Explosives joined deputies at the scene. The county sheriff said parents or guardians should stay away, urging them to go instead to Leonardtown High School to reunite with Great Mills students there.
Maryland Gov. Larry Hogan and Rep. Steny Hoyer tweeted that they're monitoring reports and urged people to follow the instructions of local law enforcement at the scene.
This latest shooting happened as many students are calling for action against gun violence in schools, leading up to Saturday's March For Our Lives rally in the nation's capital. Protests have been spreading around the nation since a teenager with an assault rifle killed 17 people at a Florida high school on Valentine's Day. Threats against schools have proliferated as well, and Great Mills High has not been immune.
Just last month, the school's principal, Jake Heibel, told parents in a letter posted on the local news site The Bay Net that two students were interviewed after they were overheard mentioning a school shooting, and they were found to pose no threat. Heibel said the school increased its security nevertheless after social media posts about a possible school shooting "circulated quite extensively."
Also last month, St. Mary's County Sheriff's office said it arrested two teenage boys for "Threats of Mass Violence" and a 39-year-old man on related charges after the teens made threats about a potential school shooting at Leonardtown High School, a high school about 10 miles from Great Mills. Police said they obtained a search warrant that led to them finding semi-automatic rifles, handguns and other weapons, along with ammunition.