I have configured a gradle build script for a war, and want to run it
locally for testing, using the tomcat plugin (
https://github.com/bmuschko/gradle-tomcat-plugin )

Our tomcat instance is slightly customized: el-api.jar and jasper-el.jar
have been replaced with tomcat-el-api-7.0.4 and tomcat-jaserp-el-7.0.4, as
some of our JSP pages use parameterized EL statements.

When launching tomcat embedded with the gradle plugin, the classpath is not
set correctly, what am I doing wrong here?

// gradle.build
apply plugin: 'war'
apply plugin: 'java'
apply plugin: 'tomcat'

buildscript {
    repositories {
        mavenRepo name: 'repo_bootstrap', urls: "
http://artifactory.local/artifactory/repo";
    }

    dependencies {
        def tomcatVersion = '6.0.29'
        def tomcatElVersion = '7.0.4'
        def hazelcastVersion = '1.9'
        def mysqlVersion = '5.1.13'

        classpath "org.apache.tomcat:catalina:${tomcatVersion}",
                "org.apache.tomcat:coyote:${tomcatVersion}",
                "org.apache.tomcat:jasper:${tomcatVersion}",
                "org.apache.tomcat:tomcat-el-api:${tomcatElVersion}",
                "org.apache.tomcat:tomcat-jasper-el:${tomcatElVersion}",
                "com.hazelcast:hazelcast:${hazelcastVersion}",
                "mysql:mysql-connector-java:${mysqlVersion}",

"com.jemstep.commons:jemstep-session-manager:2.0.0-SNAPSHOT",
                "gradle-tomcat-plugin:gradle-tomcat-plugin:0.3"
    }
    configurations {
        classpath.exclude module: 'el-api'
        classpath.exclude module: 'jasper-el'
    }
}


I have a tag that uses an EL statement:
"#{mybean.someCheck('param')}"

In the default tomcat el-api / jasper-el libraries, parameters cannot be
passed, but the tomcat EL libraries from 7.0.4 do support this format. When
running the tomcatRun task with gradle in debug mode, i get the following,
showing that the "classpath" dependency set is being resolved without using
the exclude. This then causes the rendered to fail, complaining about the
'(' :

12:07:03.014 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort
dependencies of : org.apache.tomcat#jasper;6.0.29 / Number of dependencies =
7
12:07:03.014 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#servlet-api;6.0.29
12:07:03.015 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#juli;6.0.29
12:07:03.015 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort
dependencies of : org.apache.tomcat#jsp-api;6.0.29 / Number of dependencies
= 2
12:07:03.015 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort
dependencies of : org.apache.tomcat#el-api;6.0.29 / Number of dependencies =
0
12:07:03.016 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort done
for : org.apache.tomcat#el-api;6.0.29
12:07:03.016 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#servlet-api;6.0.29
12:07:03.017 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort done
for : org.apache.tomcat#jsp-api;6.0.29
12:07:03.017 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#catalina;6.0.29
12:07:03.017 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#el-api;6.0.29
12:07:03.017 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort
dependencies of : org.apache.tomcat#jasper-jdt;6.0.29 / Number of
dependencies = 0
12:07:03.018 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort done
for : org.apache.tomcat#jasper-jdt;6.0.29
12:07:03.018 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort
dependencies of : org.apache.tomcat#jasper-el;6.0.29 / Number of
dependencies = 1
12:07:03.018 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Module
descriptor is processed : org.apache.tomcat#el-api;6.0.29
12:07:03.019 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort done
for : org.apache.tomcat#jasper-el;6.0.29
12:07:03.019 [DEBUG]
[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper] Sort done
for : org.apache.tomcat#jasper;6.0.29

Reply via email to