I don't have my project handy to be able to tell for certain, but I think you're doing too much work. I think all I did was keep a copy of the persistence.xml file in the project's webapp resources directory along with all the other config files for
JSF, Spring, etc. and they were automagically copuied over when I did a build.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.