我正在尝试仅将gradle用于Eclipse中的jar依赖项,这意味着我从构建路径中获取了所有jar并将其写为:compile' groupid:artifactid:version'。
我在eclipse中使用tomcat 7.0.39(它在项目的构建路径中作为库导入),我想将tomcat添加到依赖项中,我写了这个:
apply plugin: 'war'
并在依赖项子句中:
providedCompile 'org.apache.tomcat:tomcat-catalina:7.0.39'
我从构建路径中删除了tomcat库。
但是当我运行服务器时,我得到了这个:
SEVERE: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:855)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1051)
有人能说清楚我应该做些什么吗?
答案 0 :(得分:3)
当你使用providedCompile
时,Jar将不会与战争一起包装即。您指定在运行时不需要此依赖项。尝试在Gradle版本中仅使用providedCompile
更改compile
,这应该包含您的包中的Catalina Jar。