Consider two eclipse maven projects: A Web project (WAR) and a Utility project JAR with a JSP TLD file inside.
After building the project and deploying to Wildfly the utiltiy JAR will be exploded under WEB-INF/LIB of the WAR project.
An exploded jar is incompatible with TLD files since the JSP engine search for the TLD file and then try to open/unzip the JAR. Since the JAR is just a folder, it causes an "Access Denied" exception, as shown below:
org.apache.jasper.JasperException: java.io.FileNotFoundException: C:\Program Files\Java\wildfly-10.0.0.Final\standalone\deployments\portal.web.war\WEB-INF\lib\portal.framework-0.0.1-SNAPSHOT.jar (Acesso negado)
A possible alternative would be to turnoff the option "Resolve dependencies from workspace projects" in Eclipse. In this scenario the JAR won't get exploded on WAR's WEB-INF/lib and everything works. However, any change to the JAR project won't get picked up and deployed to the target unless it's POM version is incremented which is incompatible with a development scenario where the projects are constantly updated and built.
I request that the eclipse wildfly connector provides an option to control weather the dependency JAR's are exploded or not into the final deployment.
Please note, this only applies to dependencies that are workspace projects. All the other dependencies (spring, hibernate, etc...) are simply copied as a JAR archive, as expected.