An all-too-common problem for sure!
Panama's method, above, can certainly work.
I like to use the raised knee method. Meet their chest with your knee. This works pretty quickly for my dog jumping on me. They learn that if they jump on me, it doesn't go very well. They are not harmed, but it becomes not worth it to them to keep up their bad habit. The trick is to get others to employ this method. I have found very few people who are willing. So...
...it becomes a matter of if others want to pet him, I must demand that they do not touch him or give him attention unless his but is on the floor (if I have put him on a sit) or all four paws are on the floor (if I haven't put him on a sit). The hardest part with this method is getting the dang people to comply!!!!! Very very commonly, people are like "It's okay! I don't mind," and my Dobe's training is hurt in the process unless I become very insistent with the people.
My current boy, Oji, is very paw-oriented, as I call it. It is just in his makeup to use his front paws. His jumping problem is very pronounced and insidious! To this day, at 5 1/2 years of age, he still disobeys and puts his freaking paws on people when they greet him. It starts with a paw sort of wrapped around the person's lower leg, and it will move to him hugging the leg, and it may move to a humping type behavior.
The exception is my wife and kids. When greeting them excitedly, he will go up on his hind legs but will keep his paws retracted (which is the normal sign of a dog successfully trained to not jump on people).
When my wife's dad comes to visit, (it has come to my attention that he doesn't want to get scratched, as I guess older people's skin can get kind of thin or vulnerable to scratching) if I don't very strictly control Oji, he will put his paws up all over him and usually scratch him.
Oh, little Oji.