A military charter plane with 143 people on board overshot the runway at Naval Air Station, Jacksonville, and came to rest in shallow waters in the St. Johns River.

A Boeing 737 with 136 passengers and seven crew on board skidded off the runway into the St. Johns river at the Naval Air Station in Jacksonville, Florida, on Friday late evening. Pictures tweeted out by the Jacksonville Sheriff's Office showed the plane resting in shallow water  reaching up to the underside of its fuselage.

Twenty-one people were transported to the hospital in "good condition," and two of them suffered "very minor injuries," ABC News reported.

Jacksonville mayor Lenny Curry said "all lives had been accounted for." He said President Donald Trump had contacted him and offered help. Curry had earlier said it was a commercial plane.

The plane was coming in from Guantanamo Bay Naval Base in Cuba and was a military contract flight for the Department of Defense operated by Miami Air International.

It was not immediately clear who were on board the flight but planes coming from Guantanamo usually carry civilian contractors and military families.

Jacksonville sheriff's  office said in a statement that navy security and emergency response personnel were on the  scene and monitoring the situation.

It said an investigation into the mishap is under way and asked family members who were expecting the arrival of passengers to stand by until they are rleased.

The plane had landed in a rainstorm and low visibility, reports said, although it was not clear immediately if that had any role in  the crash.