我是Gradle的新手。我使用Gradle插件将我的项目设置为Gradle Project
,以便根据gradle构建脚本重建项目配置。我尝试将我的应用程序设置为动态Web项目(使用eclipse-wtp
Gradle插件),这样做,我需要我的项目才能访问Tomcat Server Runtime
库。
显然,在Gradle中这样做的方法是将其设置为"提供的依赖关系,"它应该只用于编译但不用于部署。但是,对于我的IDE Tomcat部署,这对我不起作用。似乎Gradle正在配置两组依赖项:Web App Libraries
,它尊重提供的依赖项设置,而Grade Dependencies
则不支持。Gradle Dependencies
。 两者都包含在Web应用部署程序集中,这意味着"提供了" Tomcat jar正在部署并阻止Tomcat启动。
如何配置Gradle以防止Remove Gradle Dependency Management
自动包含在Eclipse部署程序集屏幕中?我无法手动删除它,因为它会在下次Gradle运行时刷新。
我已经尝试 Gradle -> Refresh All
(右击项目 - > Gradle - >删除Gradle依赖关系管理),但这不起作用。它解决了Tomcat问题,但随后我的测试依赖关系不再出现在构建路径上,这导致我的单元测试出错。
如果你手动Web App Libraries
,上面的确有效。这将导致Gradle Eclipse插件重新生成配置文件,而不属于Referenced Libraries
的依赖项将包含在Gradle -> Remove Dependency Management
中。
Grade Dependencies
只会删除apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
webAppDirName = 'WebContent'
// <snip>
dependencies {
providedCompile('org.apache.tomcat:tomcat-catalina:7.0.34')
// <snip>
}
// snip
库,但其本身就不够用。
我正在使用:
这是导致问题的库,它包括&#34;提供的&#34; Tomcat罐子:
这是我的build.gradle文件:
{{1}}