我是Gradle的新手,我开始将其应用于现有项目。 我想做的是使用Java插件的compileJava任务来编译Java类。 我按照文档将所有jar都添加到了本地目录中,但是似乎不起作用。
当我运行compileJava任务时,它将继续打印消息,例如 “ javax.servlet.http不存在” “ javax.servlet不存在” 等等 等
它为本地文件夹中包含的每个软件包按上述方式打印消息,即使我尝试使用“ gradledependence”命令打印依赖项,它也会打印:
annotationProcessor-注释处理器及其相关性 源设置为“主要”。没有依赖性
apiElements-main的API元素。 (n)没有依赖性
archives-归档工件的配置。没有依赖性
compile-源集“ main”的依赖项(已弃用,请使用 而不是“实施”)。没有依赖性
compileClasspath-为源集“ main”编译类路径。没有 依赖性
compileOnly-仅编译源集“ main”的依赖项。没有 依赖性
default-默认工件的配置。没有依赖性
实现-仅实现源集的依赖项 '主要'。 (n)没有依赖性
runtime-源集“ main”的运行时依赖项(已弃用,请使用 改为'runtimeOnly'。没有依赖性
runtimeClasspath-源集“ main”的运行时类路径。没有 依赖性
runtimeElements-main的运行时元素。 (n)没有依赖性
runtimeOnly-源集“ main”的仅运行时依赖项。 (n)否 依赖性
testAnnotationProcessor-注释处理器及其依赖项 用于源集“测试”。没有依赖性
testCompile-源集“ test”的依赖性(不建议使用 'testImplementation')。没有依赖性
testCompileClasspath-为源集“ test”编译类路径。没有 依赖性
testCompileOnly-仅编译源集“ test”的依赖项。没有 依赖性
testImplementation-仅实现源集的依赖项 '测试'。 (n)没有依赖性
testRuntime-源集“ test”的运行时依赖项(已弃用, 使用“ testRuntimeOnly”代替)。没有依赖性
testRuntimeClasspath-源集“ test”的运行时类路径。没有 依赖性
testRuntimeOnly-源集“ test”的仅运行时依赖项。 (n) 没有依赖性
因此...无法正确获取依赖项。 我试图从远程存储库中获得一种依赖关系,例如mavencentral()或jcenter,一切正常。
有人可以帮助我吗?我做错了什么吗?看来fileTree不能正常工作。
这是我的gradle.build文件:
plugins {
id 'java'
}
//Source and target compatibility.
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
//Libraries local repository.
repositories {
flatDir {
dirs 'src/main/webapp/WEB-INF/lib'
}
}
dependencies {
compile fileTree(dir:'src/main/webapp/WEB-INF/lib', include: ['*.jar'])
}
//Source sets.
sourceSets {
//Thes configuration under 'main' will be used for the production environment.
main {
java {
//Source directory of the java files.
srcDir 'src/main/webapp/WEB-INF/classes'
}
//.class files output directory
java.outputDir = file('src/main/webapp/WEB-INF/classes')
}
}