Build Gradle生成失败错误:包javax.servlet不存在
我对gradle和构建系统很陌生, 我试图用gradle构建项目,但它找不到我在项目的几个类中使用的Tomcat server包 我的构建配置:Build Gradle生成失败错误:包javax.servlet不存在,build,gradle,Build,Gradle,我对gradle和构建系统很陌生, 我试图用gradle构建项目,但它找不到我在项目的几个类中使用的Tomcat server包 我的构建配置: apply plugin: 'java' apply plugin: 'war' repositories { flatDir { dirs "WebContent/WEB-INF/lib" } mavenCentral() } dependencies { compile group: 'com.orientechnologi
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任务-生成时出错:
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;
..通常您会使用
提供的编译。比如:
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
然后你的应用程序将被编译,但gradle不会在最终的war文件中包含servlet api。我也遇到了同样的问题,使用提供的编译解决方案不起作用,只是
编译组:'javax.servlet',名称:'javax.servlet api',版本:'3.0.1'
确实有效
如果有人有同样的问题,我只想与大家分享。我也有同样的问题,这条线也行
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
为什么不使用compileOnly
组进行编译?