Hello Matthias
the problem occurs when loading "META-INF/**/*.taglib.xml" resources.
In tomcat, getResource() is called on a classloader that returns Jar resources and java.util.jar.JarFile#entries() allows to find META-INF/primefaces-p.taglib.xml inside "/data/servers/apache-tomcat-9.0.24/webapps/test-jsf-primefaces-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/primefaces-7.0.jar" JAR (in my env).
However in pax web, getResource() is called on classloader that is org.ops4j.pax.web.service.spi.util.ResourceDelegatingBundleClassLoader and it returns entries which are org.apache.felix.framework.URLHandlersBundleURLConnection instances and MyFaces fallsback to directory searching...
In case of samples from pax-web, I remember that primefaces is installed as separate bundle and afaik, it worked (just try running org.ops4j.pax.web.itest.jetty.WarJSFPrimefacesIntegrationTest - I remember it worked) I don't have now time to provide detailed analysis - I compared zillion stack traces to find the problem inside org.apache.myfaces.view.facelets.util.Classpath#_searchResource().
regards
Grzegorz Grzybek