JSR220 says <jar-file> is relative to the root of the persistence unit, which is the place containing the META-INF/persistence.xml
This is not the case. Instead, it looks for the jar relative to the JVM working directory. (see JarVisitorFactory.java)
So providing an absolute file path in <jar-file> works, but not a relative path because the root changes changes based on the situation and environment. E.g., the directory you run ant, when running tomcat, etc.