Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-22157

On deployment, utility JAR projects are being exploded on WEB-INF/LIB

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.4.0.Alpha2
    • Component/s: server
    • Labels:
      None
    • Sprint:
      devex #114 May 2016
    • Story Points:
      8

      Description

      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)
      org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:151)
      org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
      org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
      org.apache.jasper.compiler.Parser.parseElements(Parser.java:1456)
      org.apache.jasper.compiler.Parser.parse(Parser.java:143)

      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.

      Thank you.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  rob.stryker Rob Stryker
                  Reporter:
                  tiago.matias Tiago Matias
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: