为什么部署 providedCompile 依赖项?
Why providedCompile dependency gets deployed?
在我的 build.gradle
我有
dependencies {
...
providedCompile 'javax:javaee-web-api:7.0'
}
我在 Eclipse Mars 4.5.0 中导入了项目(我还安装了 Gradle IDE 3.7.0.201506251228-RELEASE)。 Gradle dependencies
包含库,而 Web App Libraries
不包含。到目前为止一切都很好。但是为什么这个库被部署到 WEB-INF/lib
?
这是一个known issue的工具。这个问题的原因是 Gradle 的工具 API 没有为 IDE 提供足够的信息来区分所提供的与其他依赖项。因此 IDE 无法正确配置部署程序集。
该问题有一个解决方法(如错误报告中所述):可以定义一个全局正则表达式列表以从部署中排除特定依赖项。转到 "Gradle >> WTP" 首选项找到它。
或者,您可以禁用 'Dependency Management' 并尝试依赖 Gradle 的 eclipse 插件(即 "apply plugin: 'eclipse-wtp'")来生成类路径和部署程序集。这可能会更好。
通常,在使用基于 wtp 的项目时,最好使用禁用依赖管理的设置,正是因为这些错误。
在我的 build.gradle
我有
dependencies {
...
providedCompile 'javax:javaee-web-api:7.0'
}
我在 Eclipse Mars 4.5.0 中导入了项目(我还安装了 Gradle IDE 3.7.0.201506251228-RELEASE)。 Gradle dependencies
包含库,而 Web App Libraries
不包含。到目前为止一切都很好。但是为什么这个库被部署到 WEB-INF/lib
?
这是一个known issue的工具。这个问题的原因是 Gradle 的工具 API 没有为 IDE 提供足够的信息来区分所提供的与其他依赖项。因此 IDE 无法正确配置部署程序集。
该问题有一个解决方法(如错误报告中所述):可以定义一个全局正则表达式列表以从部署中排除特定依赖项。转到 "Gradle >> WTP" 首选项找到它。
或者,您可以禁用 'Dependency Management' 并尝试依赖 Gradle 的 eclipse 插件(即 "apply plugin: 'eclipse-wtp'")来生成类路径和部署程序集。这可能会更好。
通常,在使用基于 wtp 的项目时,最好使用禁用依赖管理的设置,正是因为这些错误。