创建启动脚本

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 来解析模板,并提供以下变量:

  • applicationName
  • optsEnvironmentVar
  • exitEnvironmentVar
  • mainModule
  • mainClass
  • executableDir
  • defaultJvmOpts
  • appNameSystemProperty
  • appHomeRelativePath
  • classpath

例子:

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

应用程序的类路径。

Iterable<String> defaultJvmOpts

应用程序的默认 JVM 选项。默认为空列表。

String executableDir

在发行版中写入脚本的目录。

Property<String> mainClass

用于启动 Java 应用程序的主类名称。

Property<String> mainModule

用于启动模块化 Java 应用程序的主模块名称。

String optsEnvironmentVar

用于向 JVM 提供附加选项的环境变量。

File outputDir

写入脚本的目录。

ScriptGenerator unixStartScriptGenerator

类似 UNIX 的启动脚本生成器。

默认为TemplateBasedScriptGenerator.

ScriptGenerator windowsStartScriptGenerator

Windows 启动脚本生成器。

默认为TemplateBasedScriptGenerator.