This should be a recall,but as with other problems,they dont want to own up to it .So here's what i have learned :
ALL of the jeep cherokees have this problem . one cause is the crank position sensor ,mounted on the top of the trans. bell housing near / under the firewall. Some people have had luck with simply unplugging the sensor,waiting 5 minutes,then plugging it back up . In my case ,it had to be replaced .check first the fuel pump relay,located under the hood,pass. side in the fuse box,marked under the fuse box lid as fuel pump relay.the wiper fuse should be the same=check the numbers on the fuse .then check all other fuses with a test light.any blown fuse has a reason for it ,so use the wiring schematic it the back of the owners manual to find all wires in that circuit ,and check those wires for cuts,burns or chaffing (vibration rub marks that cut the wire fot the copper inside to corrode ).also make sure that the battery is not corroded , check the main ground wires for loose nuts that will make them a bad control ground .most older cherokees up to 1996 have a "trick" to getting the check engine light to blink a number of times for the code .turn the switch to the forward on position and back off 6 times then leave on for the code and write down the numbers. unlike chevy ,it only gives one code= no repeats until it is done so write fast . last code means its done . check you tube for videos on this . main cause = 99% of the time = FAULTY CRANK POSITION SENSOR .