我如何使用Gradle的CreateStartScripts任务

时间:2012-01-09 10:36:42

标签: java groovy gradle

我想使用gradle的CreateStartScripts Task来生成启动应用程序的脚本。

我以下列方式使用它:

apply plugin: 'java'
mainClass = 'UIMain';

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

task copyResources(type: Copy) {
    from 'config.ini'
    into 'build/dist'
}

task copyLibs(type: Copy) {
    from configurations.default
    from configurations.default.allArtifacts.files
    into 'build/dist/libs'
}

task generateScript(type: CreateStartScripts) {
     applicationName = "Dagang"
     mainClassName = mainClass
     outputDir = "build/dist/"
     classpath = ""
}

task distribute(dependsOn: [
    build,
    copyLibs,
    copyResources,
    generateScript
    ]) <<{ 

description = 'Copies all the project libs to the distribution place.' 
}

然而,当我运行构建时,它会遇到错误,如:

评估根项目'dagang'时出现问题。 [org.gradle.BuildExceptionReporter]原因:在根项目'dagang'上找不到属性'CreateStartScripts'。

有人能给我一些启示吗?感谢。

2 个答案:

答案 0 :(得分:4)

导入类(org.gradle.api.tasks.application.CreateStartScripts),或使用application插件。后者通常是优选的。

答案 1 :(得分:3)

CreateStartScripts似乎是一个包私有类,因此它是不可见的。

请尝试使用application plugin。然后,您可以另外覆盖内置startScripts任务的其他一些属性。