首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle生成失败错误:包javax.servlet不存在

Gradle生成失败错误:包javax.servlet不存在
EN

Stack Overflow用户
提问于 2013-03-22 23:39:02
回答 3查看 15.1K关注 0票数 10

我是gradle和构建系统的新手,我正在尝试使用gradle构建项目,但它找不到我在项目的几个类中使用的Tomcat服务器包。

我的构建配置:

代码语言:javascript
复制
apply plugin: 'java'
apply plugin: 'war'

repositories {
   flatDir { dirs "WebContent/WEB-INF/lib" }
   mavenCentral()
}

dependencies {
    compile group: 'com.orientechnologies', name: 'orient-commons', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-client', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-core', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-graphdb', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-enterprise', version: '1.3.0'
    compile group: 'com.tinkerpop.blueprints', name: 'blueprints-core', version: '2.3.0'
    compile group: 'com.tinkerpop.blueprints', name: 'blueprints-orient-graph', version: '2.3.0'
    compile group: 'com.tinkerpop', name: 'pipes', version: '2.3.0'
    compile group: 'com.tinkerpop.gremlin', name: 'gremlin-java', version: '2.3.0'
    compile group: 'com.tinkerpop.gremlin', name: 'gremlin-groovy', version: '2.3.0'

    testCompile group: 'junit', name: 'junit', version: '4.+'
    testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'

}
sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }
    test {
        java {
            srcDir 'test'
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.3'
}
war {
    from 'WebContent'
}

启动Gradle Task -Build时出现错误:

代码语言:javascript
复制
OrientDBFilter.java:6: error: package javax.servlet does not exist
import javax.servlet.FilterChain;
OrientDBFilter.java:5: error: package javax.servlet does not exist
import javax.servlet.Filter;

……

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-23 00:53:11

通常你会使用providedCompile。类似于:

代码语言:javascript
复制
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'

然后您的应用程序将被编译,但是gradle不会在最终的war文件中包含servlet api。

票数 16
EN

Stack Overflow用户

发布于 2019-11-07 21:32:41

我遇到了同样的问题,providedCompile的解决方案不起作用,只是简单地

compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'确实起作用了。

如果有人有同样的问题,我只想分享一下。

票数 0
EN

Stack Overflow用户

发布于 2021-02-22 20:57:12

我也有同样的问题,这条线路正常工作。

代码语言:javascript
复制
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15574304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档