| API文档: | CreateStartScripts |
|---|
创建用于启动 JVM 应用程序的启动脚本。
例子:
task createStartScripts(type: CreateStartScripts) {
outputDir = file('build/sample')
mainClass = 'org.gradle.test.Main'
applicationName = 'myApp'
classpath = files('path/to/some.jar')
}
注意:Gradle"application"插件添加了一个名为 的此类型的预配置任务"startScripts"。
该任务生成针对 Microsoft Windows 环境和类 UNIX 环境(例如 Linux、macOS)的单独脚本。实际的生成是通过类型的CreateStartScripts.getWindowsStartScriptGenerator()和属性实现的。
CreateStartScripts.getUnixStartScriptGenerator()ScriptGenerator
例子:
task createStartScripts(type: CreateStartScripts) {
unixStartScriptGenerator = new CustomUnixStartScriptGenerator()
windowsStartScriptGenerator = new CustomWindowsStartScriptGenerator()
}
class CustomUnixStartScriptGenerator implements ScriptGenerator {
void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) {
// implementation
}
}
class CustomWindowsStartScriptGenerator implements ScriptGenerator {
void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) {
// implementation
}
}
默认生成器的类型为TemplateBasedScriptGenerator,具有默认模板。可以通过该方法更改此模板TemplateBasedScriptGenerator.setTemplate(org.gradle.api.resources.TextResource)。
此任务使用的默认实现使用Groovy 的 SimpleTemplateEngine 来解析模板,并提供以下变量:
applicationNameoptsEnvironmentVarexitEnvironmentVarmainModulemainClassexecutableDirdefaultJvmOptsappNameSystemPropertyappHomeRelativePathclasspath
例子:
task createStartScripts(type: CreateStartScripts) {
unixStartScriptGenerator.template = resources.text.fromFile('customUnixStartScript.txt')
windowsStartScriptGenerator.template = resources.text.fromFile('customWindowsStartScript.txt')
}
| 财产 | 描述 |
applicationName | 应用程序的名称。 |
classpath | 应用程序的类路径。 |
defaultJvmOpts | 应用程序的默认 JVM 选项。默认为空列表。 |
executableDir | 在发行版中写入脚本的目录。 |
mainClass | 用于启动 Java 应用程序的主类名称。 |
mainModule | 用于启动模块化 Java 应用程序的主模块名称。 |
optsEnvironmentVar | 用于向 JVM 提供附加选项的环境变量。 |
outputDir | 写入脚本的目录。 |
unixStartScriptGenerator | 类似 UNIX 的启动脚本生成器。 |
windowsStartScriptGenerator | Windows 启动脚本生成器。 |
String applicationName
应用程序的名称。
FileCollection classpath
应用程序的类路径。
String executableDir
在发行版中写入脚本的目录。
String optsEnvironmentVar
用于向 JVM 提供附加选项的环境变量。
File outputDir
写入脚本的目录。