In Apache DeltaSpike we currently face the following problem:
We create a @Deployment with a WebArchive containing 3 JARs.
All of those JARs contain a META-INF/beans.xml file. The problem is that all of them get the same URL assigned: "archive://META-INF/beans.xml".
That way a CDI container cannot distinguish between them and will always only randomly take one of the three
This can be tested in OpenWebBeans ShrinkWrapMetaDataDiscovery#parseBeansXmls
Update: seems not to be a ShrinkWrap core issue but an integration problem. Both the arquillian-container-openwebbans and weld (and problably others as well) did just use "archive:/" + entry.get() to construct the URL. But this doesn't work if you have multiple jars with the same resource in them as the URL#equals always first takes the URI name to distinguish.