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
