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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 4.4.0.Alpha2
    • None
    • server
    • None
    • devex #114 May 2016
    • 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.

      Attachments

        Issue Links

          Activity

            People

              rob.stryker Rob Stryker (Inactive)
              tggm79 Tiago Matias (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: