2012-01-09 99 views
9

我想使用gradle的CreateStartScripts Task来生成脚本来启动应用程序。如何使用Gradle的CreateStartScripts任务

我使用的方式如下:

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.' 
} 

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

发生评估根项目“大港”的问题。 [org.gradle.BuildExceptionReporter]原因:无法在根项目'dagang'上找到属性'CreateStartScripts'。

任何人都能给我一些启示吗?谢谢。

回答

4

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

3

CreateStartScripts看起来是一个包私人类,因此它是不可见的。

尝试使用application plugin代替。然后,您可以另外重写内置startScripts任务的其他一些属性。

+0

这正是我所需要的。谢谢。 – Wudong 2012-01-09 12:30:21