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

没有war插件的providedCompile

颛孙国源
2023-03-14

我想为许多项目重用特定的过滤器,所以我想提取它,并使用一个单独的jar将它添加到任何Web应用程序中。

apply plugin: 'java'

dependencies {

    compile group:'org.slf4j', name:'slf4j-api', version:'1.7.+'

    testCompile group:'junit', name:'junit', version:'4.+'

    compile group:'org.springframework', name:'spring-web', version:'3.+'   

    compile group:'org.slf4j', name:'slf4j-log4j12', version:'1.6.+'
    compile group:'log4j', name:'log4j', version:'1.2.+'

    providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version:'3.+'        

}

repositories {

    mavenCentral()

}

现在,我知道如果没有WAR插件,我就不能使用providedCompile,但我需要这个项目是一个简单的JAR。还有别的办法吗?

共有1个答案

柳梓
2023-03-14

对于java插件,没有这种现成的配置。但是,您可以自己构建它,如下所示:

configurations { providedCompile }

dependencies {
    providedCompile "javax.servlet:javax.servlet-api:3.+"
}

sourceSets.main.compileClasspath += configurations.providedCompile
sourceSets.test.compileClasspath += configurations.providedCompile
sourceSets.test.runtimeClasspath += configurations.providedCompile

这将添加配置,并将所有依赖项放在主类和测试类的编译类路径上。您还需要将其添加到runtimeClasspath中,因为根据gradle DSL文档,其中不包括compile类路径。

 类似资料:
  • 使用tomcat 2.2.0构建grails 2.1.0应用程序时,在tomcat 7上部署时,在启动时会出现以下错误: 和 java.lang.noClassDeffounderror:org/apache/tomcat/perioadeventListener at java.lang.classloader.defineClass1(本机方法)at java.lang.classloader

  • War任务默认会把src/main/webapp的内容复制到归档目录的根目录.webapp文件夹下会包含一个WEB-INF子文件夹,里面可能会有一个web.xml文件.编译后的class文件会在WEB-INF/classes下,所有runtime[13]的依赖配置会被拷贝至WEB-INF/lib下. API文档中有更多关于War的信息. [13]runtime配置扩展了compile配置.

  • WAR插件扩展了Java插件,支持web应用组装成War文件.它默认禁用了Java插件JAR归档任务,并增加了一个默认的WAR归档任务。 25.1.使用 使用war插件需要在构建脚本下包括以下内容 例25.1.使用war插件 build.gradle apply plugin 'war' 25.2.任务 War插件会添加下列任务到项目. 表25.1.War插件-任务 任务名 依赖 类型 描述 wa

  • 下面的例子中有一些重要的自定义选项 例25.2.定制War插件 build.gradle configuration{ moreLibs } respositories{ faltDir {dirs "lib"} mavenCentral() } dependencies{ compile module(":compile:1.0") { dependency ":

  • War插件会添加下列任务到项目. 表25.1.War插件-任务 任务名 依赖 类型 描述 war compile War 组装应用程序War文件 War插件由Java插件添加下列依赖任务. 表25.2.War插件-附加的依赖任务 任务名 依赖 assemble war 图25.1.War插件-任务 a655fa4be4421004591827ae70fee579703794dd

  • 使用war插件需要在构建脚本下包括以下内容 例25.1.使用war插件 build.gradle apply plugin 'war' a655fa4be4421004591827ae70fee579703794dd