One of mine was like this.
I found a technique that worked, but it took a long time - probably a good two months.
Basically, I rocked him until he was so close to being asleep it made almost no difference, and then popped him down. His eyes pinged open. So I picked him up and rocked him until he was so close to being asleep it made no difference, and then popped him down. His eyes pinged open. So I picked him until he was so close to being asleep it made no difference, and then popped him down. His eyes pinged open. So I picked....
And after about 30 minutes, I popped him down and his eyes didn't ping open.
The next nap I did exactly the same, but instead of taking 30 minutes it took 20 minutes.
At bedtime I did exactly the same, but instead of taking 20 minutes it took 5 minutes.
The next day, I rocked him just a little bit less. Still very, very close to sleep, but a bit less so that day 1. I popped him down, and his eyes pinged open. So I picked him up and rocked him to the same point of almost-asleepness, and....
I'm sure you get the drift.
Basically, what I did was very, very gently aclimitised him.
There were many naps that I got it wrong and either rocked him too much (so he was actually asleep when I put him down) or not enough. But over time, it worked.