我创建了一个HelloWorld
应用程序,我能够执行构建任务但无法执行运行任务。我收到以下错误:
无法找到或加载主类演示
以下是我的build. gradle文件:
apply plugin: 'scala'
repositories{
mavenCentral()
mavenLocal()
}
dependencies{
compile 'org.slf4j:slf4j-api:1.7.5'
compile "org.scala-lang:scala-library:2.11.2"
testCompile "junit:junit:4.11"
}
task run(type: JavaExec, dependsOn: classes) {
main = 'Demo'
}
我的源代码Demo. scala:
object Demo {
def main(args: Array[String]) {
println("Helo World")
}
}
我的文件结构:
build
src\main\scala\Demo.scala
build.gradle
我正在使用gradle 3.0和Java1.8。0_91。在我看来,我缺少一些与类路径相关的设置。任何帮助都将不胜感激。
您还需要提供类路径
。将run
任务声明更改为:
task run(type: JavaExec, dependsOn: classes) {
main = 'Demo'
classpath = sourceSets.main.runtimeClasspath
}
它会很好地工作。演示。
要打印类路径:
task run(type: JavaExec, dependsOn: classes) {
main = 'Demo'
classpath = sourceSets.main.runtimeClasspath
doFirst {
classpath.each { println it }
}
}
您可以使用Gradle应用程序插件,它会自动添加运行任务。然后简单地指定主类:
mainClassName = "Demo"
然后,您build. gradle将如下所示:
apply plugin: 'scala'
apply plugin: 'application'
repositories{
mavenCentral()
mavenLocal()
}
dependencies{
compile 'org.slf4j:slf4j-api:1.7.5'
compile "org.scala-lang:scala-library:2.11.2"
testCompile "junit:junit:4.11"
}
mainClassName = 'Demo'