当前位置: 首页 > 知识库问答 >
问题:

格雷德尔:如何将罐子排除在战争之外?

荀豪
2023-03-14

主要项目脚本:

apply plugin: 'war'
war {
    dependencies {
        runtime (project(':childProject')) {
            exclude group: 'javax.servlet.jsp', module: 'jsp-api'
        }
    }
}

childProject脚本:

apply plugin: 'java'
dependencies {
    compile 'javax.servlet.jsp:jsp-api'
}

共有1个答案

呼延靖
2023-03-14

来自Gradle文档

War插件添加了两个依赖配置:providedCompile和ProvidedRuntime。这些配置与各自的编译和运行时配置具有相同的作用域,只是它们没有添加到WAR归档中。

因此,换句话说,向providedcompileprovidedruntime添加条目将导致从war文件中排除该依赖项。

  • 如果源代码依赖于某些类进行编译,请使用providcompile
  • 如果使用providedruntime进行测试而不是编译,请使用它。

http://www.gradle.org/docs/current/userguide/war_plugin.html

 类似资料:
  • 我面临着这个问题 我验证了我的系统已经安装了gradle,并且具有所有读写权限。 这个错误有什么具体原因吗? 已检查此链接

  • 我正在尝试使用Gradle构建一个ear。 我的项目树如下所示: 我注意到war插件的捆绑样例也有同样的问题...提前致谢

  • 我们有一个这样的项目 公共-模块src-Spring引导工作者-模块 在工作模块中,我们build.gradle这样配置 当我运行任务法特加尔sqlserver: mssql-jdbc丢失时。我试图在{configurations.compile.collect{it.is目录()的这部分代码中打印?it: zipTree(it)}}和“它”从未引用到sqlserver jdbc jar。 由于w

  • 我有一个由gradle建造的战争项目。我有一个字符串gradle.build文件:编译'log4j: log4j: 1.2.17'但没有任何log4j.jar结果WEB-INF/lib目录在myproject.war文件。 但“compile”配置中定义的所有其他lib都存在。为什么会有如此奇怪的行为,它是一个bug还是某种功能?如何将其包含在我的网络档案中? Eclipse在项目的“网络应用程序

  • 有什么不同?我可以在联机主机上部署吗?

  • 问题内容: 我们有无数战争的解决方案。从全部使用冬眠和春季的意义上讲,战争是相似的。这意味着每次战争中都有许多相同的罐子。这成为一个问题,因为耳朵的大小开始不成比例地增长。 我想使用Maven来计算依赖关系,并将多次战争通用的所有jar放到EAR的根部。 我尝试使用j2ee原型(maven-archetype-j2ee-simple)来组织项目,但所有战争仍然与WEB-INF / lib中的依赖项