The library "ecj-3.6.2.jar" should be defined in the dependencies closure of
the buildscript closure...same place where you define all the other Tomcat
dependencies. Otherwise, you'll probably package the library in your WAR
which you don't want to do. This is a runtime dependency that Tomcat already
provides when you deploy it to a production site.

I would like to understand more about this sentence: "job of making sure all
transitive dependencies can be resolved" 
>>> The  pom.xml of the embedded Tomcat library
>>> org.apache.tomcat.embed:tomcat-embed-jasper defines a transitive
>>> dependency to ECJ in Maven Central. However, the Tomcat guys did not
>>> make sure that this dependency actually exists. Therefore, this
>>> dependency cannot be resolved. From my point of view their pom.xml is
>>> broken.

For your other issue:

I guess you define 'javax.servlet:servlet-api' and 'javax.servlet:jsp-api'
as dependencies for your app that will be part of your app's classpath.
However, Tomcat's transitive dependencies already pull them in. In case
Tomcat finds two of the libraries in the classpath it will give you an error
message. Make sure you define your JSP and Servlet module dependencies with
the scope providedCompile:

providedCompile 'javax.servlet:servlet-api:2.5', 'javax.servlet:jsp-api:2.0'

--
View this message in context: 
http://gradle.1045684.n5.nabble.com/Strange-classpath-issue-when-starting-tomcat-7-programmatically-tp4288368p4384427.html
Sent from the gradle-user mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to